我需要为2个不同的html元素创建幻灯片效果,但此动画必须同时运行。
是否有一种使用jquery.animate()函数的方法?
答案 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();
});
});
答案 1 :(得分:0)
我只是试图移动一个div并且同时移动一个IMG
我忘记了两个.animate()一个接一个地自动同时运行。
抱歉失去时间...