【问题标题】:JQuery Animation with pause points in the middle of animation动画中间有暂停点的 JQuery 动画
【发布时间】:2012-03-13 13:38:11
【问题描述】:

我正在尝试在执行过程中暂停 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>

【问题讨论】:

    标签: javascript jquery jquery-animate


    【解决方案1】:

    试试下面的链接:

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

    编辑:

    我已经在下面的链接中重置了您的示例,但它似乎有效,所以我不确定您希望它以何种方式表现不同

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

    【讨论】:

    • 谢谢,这基本上是我尝试过的,但它并没有发生在我身上。这是我的更新。 jsfiddle.net/bTYb8/2
    • 可能延迟有点小,效果不明显。
    • 我认为是它或与它有冲突的东西不允许它应用延迟。
    • @Blynn ,问题是括号 () 延迟。它是一个函数,因此必须像这样“delay()”调用它。欢呼
    • 我更新了问题,也许有人可以回答我的更改。
    【解决方案2】:

    尝试以下方法:

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

    ​..

    【讨论】:

    • 非常感谢我正在尝试做的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多