setInterval 执行3次后,就不执行了,不是说好我不取消就会一直执行下去的吗?

varcurrentindex=1;//现在需要显示出来的banner的序号varnumOfBanner=5;//banner总数$("#flashBg").css("b... var currentindex=1;//现在需要显示出来的banner的序号
var numOfBanner=5;//banner总数
$("#flashBg").css("background-color",$("#flash1").attr("name"));
function changeflash(i) {
currentindex=i;
for (j=1;j<=numOfBanner;j++){
if (j==i)
{
$("#flash"+j).fadeIn("normal");
$("#flash"+j).css("display","block");
$("#f"+j).removeClass();
$("#f"+j).addClass("dq");
$("#flashBg").css("background-color",$("#flash"+j).attr("name"));
}
else{
$("#flash"+j).css("display","none");
$("#f"+j).removeClass();
$("#f"+j).addClass("no");
}
}
//clearInterval(timerID);
//startAm();
}

function startAm(){
timerID = setInterval("timer_tick()",1000);//8000代表间隔时间设置
}

function stopAm(){
clearInterval(timerID);
}

function timer_tick() {
currentindex=currentindex>=numOfBanner ? 1:currentindex+1;
changeflash(currentindex);

}

$(document).ready(function(){
startAm();
$(".flash_bar div").mouseover(function(){stopAm();}).mouseout(function(){startAm();});
});
我注解掉的两行代码,是为了解决这个问题的,方法是每次都删掉Interval,再重新加载Interval...但是setInterval本来就应该每隔一段时间运行的,应该不用这样做的,我想知道是不是我的代码哪里没写好才出这个问题?

//我搞错了,是执行两次之后就不执行了
展开
 我来答
zjb65532788
2014-04-06
知道答主
回答量:20
采纳率:0%
帮助的人:14.7万
展开全部
你看看timer_tick()这个函数有没有执行~~执行的话 定时器就没问题的是其他地方出错了~~你一步一步看下来~~到底是哪一步出错了~~
更多追问追答
追问
错误的地方就是timer_tick正常运行2次之后就莫名其妙不运行了,我用alert();试了,第三次就是从timer_tick开始不运行的。
追答
setInterval("timer_tick()",1000); 改成setInterval(timer_tick,1000); 试一试~~~
匿名用户
2014-04-09
展开全部
肯定有条件让程序中断的了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式