无解。。。

一直研究到现在。。。很神奇的一个问题。

我var a=0 然后接着写代码下去,

var a = 0;
var b;
$(".qhan ul li.next").click(function(){
    (a<2)?(a++):(a=0);
    b=a*(-320)+"px";
    $(".bg ul").animate({top:b},300);
});
$(".qhan ul li.prev").click(function(){
    (a>0)?(a--):(a=2);
    b=a*(-320)+"px";
    $(".bg ul").animate({top:b},300);
});
$(".qhan ul li").hover(function(){
    clearInterval(Time),function(){
        play();
    };
});
function play(){
    Time = setInterval(function(){
        (a<2)?(a++):(a=0);
        b=a*(-320)+"px";
        $(".bg ul").animate({top:b},300);
    },2000);
}
play();

结果神奇的事情出现了!if判断偶尔会出错!!

自动循环的时候,当a还是0的时候会突然变成2,然后正常运行一会,偶尔又会出错!!

我头的炸了找不到到底哪里错了!

结果我把a改成了d,

然后奇迹的不会出错了!这是什么情况!!!!!!!!!!!!!!

var d = 0;
var b;
$(".qhan ul li.next").click(function(){
    (d<2)?(d++):(d=0);
    b=d*(-320)+"px";
    $(".bg ul").animate({top:b},300);
});
$(".qhan ul li.prev").click(function(){
    (d>0)?(d--):(d=2);
    b=d*(-320)+"px";
    $(".bg ul").animate({top:b},300);
});
$(".qhan ul li").hover(function(){
    clearInterval(Time),function(){
        play();
    };
});
function play(){
    Time = setInterval(function(){
        (d<2)?(d++):(d=0);
        b=d*(-320)+"px";
        $(".bg ul").animate({top:b},300);
    },2000);
}
play();

上传不了文件!不然肯定想让大家帮我分析一下T T 哭死了!不说了,睡觉去了!

原文地址:https://www.cnblogs.com/kdbBlog/p/4319617.html