为了账号安全,请及时绑定邮箱和手机立即绑定

代码执行问题

代码执行问题

尚方宝剑之说 2019-04-16 17:05:22
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里是默认显示第一个对象的数据
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

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
                            
查看完整回答
反对 回复 2019-04-16
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

既然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();
});
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信