if ((index <= 5 && eNum == 3)) {            alert("Repeat");
            index = 0;
            // var index_ = "";
            errors = [];
            eNum = 0;
            $("span.sp3").html(eNum);        }
        if ((index > 5 && index <= 10 && eNum == 5)) {            alert("Repeat");
            index = 0;
            // var index_ = "";
            errors = [];
            eNum = 0;
            $("span.sp3").html(eNum);        }
        if ((index > 10 && index <= 15 && eNum == 7)) {            alert("Repeat");
            index = 0;
            // var index_ = "";
            errors = [];
            eNum = 0;
            $("span.sp3").html(eNum);        }
其实if大括号内的内容是一样的。
index是5的倍数。
eNum=index*0.4+1

解决方案 »

  1.   

    if ((index <= 5 && eNum == 3) || (index > 5 && index <= 10 && eNum == 5) || (index > 10 && index <= 15 && eNum == 7)) {
      

  2.   


    确实精简了,但我希望更智能点。比如说把index的事变为可变的。(现在是5的倍数,以后可能是其他数字的倍数!)
      

  3.   

    var n = 5;
    if ((index <= n*1 && eNum == 3) || (index > n*1 && index <= n*2 && eNum == 5) || (index > n*2 && index <= n*3 && eNum == 7)) { 
      

  4.   

    你这个eNum就没用啊,js是有取余的功能的,楼主想多了啊,直接这样就行了啊
    if(index % 5==0){
        var eNum=eval(index*0.4+1);
         alert("Repeat");
                index = 0;
                //            var index_ = "";
                errors = [];
                eNum = 0;
                $("span.sp3").html(eNum);
    }再精简一下就是这样
    if(index % 5==0){
         alert("Repeat");
                index = 0;
                //            var index_ = "";
                errors = [];
                $("span.sp3").html(0);
    }
      

  5.   

    for(i=0; i<3; i++)
    {
            if ((index>i*5 && index <= (i+1)*5 && eNum == (2*(i+1)+1))
            {            alert("Repeat");
                index = 0;
                //            var index_ = "";
                errors = [];
                eNum = 0;
                $("span.sp3").html(eNum);
            }
     }