Heim > Fragen und Antworten > Hauptteil
var num=null;
var timer=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里是默认显示第一个对象的数据
PHPz2017-04-10 15:01:39
var num = $("a:first");
var timer = 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
PHP中文网2017-04-10 15:01:39
既然 num
已经是全局对象的话就没必要用传参的形式了吧。线性函数代码过了就是过啦,封装成函数之后才能重复调用嘛……
var num=null;
var timer=null;
(function showItem() {
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();
});