var startTime = new Date().getTime();
var interval = setInterval(function() {
if (new Date().getTime() - startTime > 1000) {
clearInterval(interval);
return;
}
r.redrawSlider()
}, 50);
}),
停止以下脚本,直到间隔完成
$(".slider-wrap").mouseenter(function() {
$(this).find(".slide-desc").css({
left: '0'
});
$(this).find(".bx-wrapper").css({
'padding-left': '100px'
});
$(this).find(".slide-desc p, .slide-desc span, .slide-desc h2").css({
'left': '0'
});
}).mouseleave(function() {
$(this).find(".slide-desc").css({
left: '-200px'
});
$(this).find(".bx-wrapper").css({
'padding-left': '0'
});
$(this).find(".slide-desc p, .slide-desc span, .slide-desc h2").css({
'left': '500px'
});
setTimeout(function() {
r.redrawSlider();
},
我想冻结上面的脚本,直到间隔完成。我怎么能这样做?
提前致谢!
答案 0 :(得分:1)
JavaScript没有可用于暂停执行的sleep / halt方法。您必须使用setInterval(...)
或setTimeout(...)
来模拟睡眠方法。
在这种情况下,您可以将要执行的代码放在函数中,然后在间隔完成时调用该函数。
如果您想清除要运行代码的间隔,则应使用
var startTime = new Date().getTime();
var interval = setInterval(function() {
if (new Date().getTime() - startTime > 1000) {
clearInterval(interval);
//**call your method here**
thisIsAMethodThatHasYourCode();
return;
}
r.redrawSlider()
}, 50);
}),
...
function thisIsAMethodThatHasYourCode() {
$(".slider-wrap").mouseenter(function() {
.....
}