猿问

代码执行问题

varnum=null;
vartimer=null;
if(num!=null){
setInterval(function(){
show(num);
},500);
}else{
num=$("a:first");
timer=setInterval(function(){
show(num);
},30);
}
$("a").on("click",function(){
clearInterval(timer);
num=$(this);
});
我想点击的时候更新num的值来释放if里的代码,
要怎么改让他第一次加载是走else里的,当点击后就走if里的,
我这里个if和else里都是用定时器去更新数据的
而else里是默认显示第一个对象的数据
尚方宝剑之说
浏览 284回答 2
2回答

翻过高山走不出你

varnum=$("a:first");vartimer=setInterval(function(){show(num);},30);$("a").on("click",function(){if(timer){clearInterval(timer);}num=$(this);if(num!=null){setInterval(function(){show(num);},500);}});楼主,你要的是这种么?这段代码加载的时候,首先给了默认num,然后定时器,然后点击a的时候清除定时器,然后复制num然后继续定时器。如果我理解对的话0.0

慕哥9229398

既然num已经是全局对象的话就没必要用传参的形式了吧。线性函数代码过了就是过啦,封装成函数之后才能重复调用嘛……varnum=null;vartimer=null;(functionshowItem(){if(timer!=null)clearInterval(timer);if(num!=null)setInterval(show,500);else{num=$("a:first");timer=setInterval(show,30);}})();$("a").on("click",function(){num=$(this);showItem();});
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答