到目前为止,这就是我所拥有的。我想为功能spid()设置超时。

<script type="text/javascript">

$(document).ready(function() {
    $("#spid").animate({top: '-110px' }, 600, 'easeOutBounce',
    function spid() {
       $(this).animate({top:"-=20px"},1000).animate({top:"+=20px"},1000);
       setTimeout("spid()",2000);
    });
});

最佳答案

$(function() {
    $("#spid").animate({top: '190px' }, 600,'linear' ,function() {
        (function spid() {
            console.log('Test');
            $(this).animate({top:"+=20px"},1000).animate({top:"+=20px"},1000);
            setTimeout(spid,2000);
        })();
    });
});


上面的代码中的this有问题,下面的代码段可以正常工作

编辑:

$(function() {
  $("#spid").animate({top: '110px' }, 600,'linear' ,function() {
    var cache = $(this);
    (function spid() {
      cache.animate({top:"+=20px"},1000).animate({top:"-=20px"},1000);
      setTimeout(spid,2000);
    })();
  });
});


请测试代码http://jsbin.com/elaxa3

关于jquery - 如何设置此jQuery代码的超时时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3753406/

10-11 12:54