0
 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();
    },

我想冻结上面的脚本,直到间隔完成。我怎样才能做到这一点 ?

提前致谢 !

4

1 回答 1

1

JavaScript 没有可用于暂停执行的睡眠/暂停方法。您必须使用setInterval(...)setTimeout(...)模拟 sleep 方法。

在这种情况下,您可以将要执行的代码放在一个函数中,然后在间隔完成时调用该函数。

如果您的意思是当您清除要运行代码的间隔时,您应该使用

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() {
    .....
}
于 2013-09-16T15:18:54.037 回答