如何同时使用jquery为2个不同的html元素制作动画?

时间:2012-07-30 08:58:13

标签: jquery html jquery-animate move

我需要为2个不同的html元素创建幻灯片效果,但此动画必须同时运行。

是否有一种使用jquery.animate()函数的方法?

2 个答案:

答案 0 :(得分:1)

这里我已经完成了完整的垃圾箱,展示了我们如何使用jQuery为两个不同的HTML元素设置动画。演示链接如下:

演示: http://codebins.com/bin/4ldqp9a

<强> HTML:

<div id="panel1" class="edge">
  <div class="box" style="top:30; background:#f8a2a4;">
  </div>
</div>
<div id="panel2" class="edge">
  <div class="box" style="top:120; background:#5599fd;">
  </div>
</div>
<br/>
<input type="button" id="btn1" value="Animate Block1" />
<input type="button" id="btn2" value="Animate Block2" />
<input type="button" id="btn3" value="Animate Both" />

<强> CSS:

body{
  background:#ffffef;
}
.edge{
  width:500px;
  height:70px;
  border:1px solid #3377af;
  padding:5px;
  margin-top:10px;
}
.box{
  position:absolute;
  left:10;
  width:40px;
  height:40px;
  border:1px solid #a82244;
}

<强> JQuery的:

$(function() {
    $("#btn1").click(function() {
        var move = "";
        if ($(".box", $("#panel1")).css('left') == "10px") {
            move = "+=" + ($("#panel1").width() - 35);
        } else {
            move = "-=" + ($("#panel1").width() - 35);
        }
        $(".box", $("#panel1")).animate({
            left: move
        }, 500, function() {
            if ($(this).css('left') == "475px") {
                $(this).css('background', '#afa799');
            } else {
                $(this).css('background', '#f8a2a4');
            }

        });
    });

    $("#btn2").click(function() {
        var move = "";
        if ($(".box", $("#panel2")).css('left') == "10px") {
            move = "+=" + ($("#panel2").width() - 35);
        } else {
            move = "-=" + ($("#panel2").width() - 35);
        }
        $(".box", $("#panel2")).animate({
            left: move
        }, 500, function() {
            if ($(this).css('left') == "475px") {
                $(this).css('background', '#afa799');
            } else {
                $(this).css('background', '#5599fd');
            }

        });
    });
    //Call Event Con-currently for both blocks
    $("#btn3").click(function() {
        $("#btn1").add("#btn2").click();
    });

});

演示: http://codebins.com/bin/4ldqp9a

答案 1 :(得分:0)

我只是试图移动一个div并且同时移动一个IMG

我忘记了两个.animate()一个接一个地自动同时运行。

抱歉失去时间...