JQuery Animation在动画中间有暂停点

时间:2012-03-13 13:38:12

标签: javascript jquery jquery-animate

我正试图在执行过程中暂停jQuery animate属性。

下面的代码随机暂停,然后在动画中间播放动画。

我希望以更简单的顺序完成此操作,例如设置marginLeft的动画并随机暂停半秒或全秒,然后执行拾取动画在var $ play停止的位置。

我正在尝试减慢随机时间添加停止点的整体动画,然后尝试选择原始动画序列。

非常感谢任何帮助。

<script>
$(document).ready(function() {

 var $block = $('.1');

var numRand1 = Math.floor(Math.random()*4000)
var numRand2 = Math.floor(Math.random()*3000)
var numRand3 = Math.floor(Math.random()*9000)


var $play = $block.animate({"marginLeft": "420px"}, numRand1);


setInterval(function() {
   $block.stop();
   $block.delay(1500);
   $block.animate({"marginLeft": "420px"}, numRand2);
}, 2000);

setInterval(function() {
   $block.stop();
$block.delay(2500);
$block.animate({"marginLeft": "420px"}, numRand3);
}, 4000);



});
</script>

<style>
.block{
width:50px;
height:50px;
background:#ff0000;    
margin-bottom:20px;
}
</style>

<div class="block 1"></div>

2 个答案:

答案 0 :(得分:1)

尝试下面的链接:

  

http://jsfiddle.net/bTYb8/1/

编辑:

我已经在下面的链接重置了你的例子,但似乎有效,所以我不确定你希望它以什么方式表现不同

  

http://jsfiddle.net/bs32V/2/

答案 1 :(得分:1)

尝试以下方法:

$("#block").animate({"marginLeft": "400px"}, "10000").delay(30).animate({"marginLeft": "800px"}, "10000");

...