jquery:退出功能

时间:2012-03-14 15:54:53

标签: javascript jquery

我在jquery做动画。我有一个从网页左侧移动到右侧的循环图片。我使用了以下代码:

 function run() {  $("#run").animate({ left: "980px" }, 250).animate({
  left: "-600px" }, 0);   setTimeout("run()", 250);
 }

一旦按下按钮,我想停止循环(或破坏功能)。

4 个答案:

答案 0 :(得分:3)

setTimeout返回一个可用于取消它的值,

//Start
var ref = setTimeout(...);
//Stop
clearTimeout(ref);

另外,如果只是使用一个函数,那么传递它比强制使用eval更安全,

setTimeout(run, 250);

答案 1 :(得分:0)

听起来你想要这个动画一直运行直到用户按下按钮。为此,我会设置一个setInterval循环并使用clearInterval在点击按钮上停止它

var runTimer = setInterval(function() {
  $("#run").animate({ left: "980px" }, 250).animate({ left: "-600px" }, 0);   
}, 250);

$('#stopAnimation').click(function () {
  clearInterval(runTimer);
}

答案 2 :(得分:0)

您想要调用清除超时。

var timeout;

 function run() {  $("#run").animate({ left: "980px" }, 250).animate({
  left: "-600px" }, 0); 
   timeout =setTimeout("run()", 250);
 }
 function cancel() { clearTimeout(timeout); }

答案 3 :(得分:0)

在每个动画

之前尝试方法stop()
function run() { 
    $("#run").stop().animate({ left: "980px" }, 250, function(){
        $(this).css('left', '-600px');
    });
    setTimeout("run()", 250); 
}