如下代码,用setInterval自然是没问题,因为使用都是同一个timer,请问setTimeout怎么解决这个问题? function scrollbars(){ index++; if(index <= max){ target = index * singleHeight; }else{ index = 0; target = index * singleHeight; } $el.animate({'top': target}, 1000, function(){ timer = setTimeout(scrollbars, 2000); }); } timer = setTimeout(scrollbars, 2000); $('#container').on('mouseenter', function(){ // 这里鼠标移入,清除定时器,可能在清除之前,上面已经生成新的定时器了,所以只是清除了之前的定时器,这里可能无法起到停止的作用 clearTimeout(timer); });
添加回答
举报
0/150
提交
取消