-2

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

有 jquery.animate() 函数的方法吗?

4

2 回答 2

1

在这里,我完成了完整的 bins,展示了如何使用 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;
}

查询:

$(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

于 2012-07-30T11:29:15.843 回答
0

我只是想移动一个 div 并同时移动一个 IMG

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

抱歉耽误了时间……

于 2012-07-30T10:20:20.980 回答