我有一组块元素,我在点击时附加了一个幻灯片动画。目标是元素继续顺畅地来回滑动。
<section class="stretch">
<div class="block blue"></div><div class="block red"></div><div class="block green"></div><div class="block orange"></div><div class="block silver"></div><div class="block teal"></div><div class="block salmon"></div>
</section>
<button class="button-left">Left</button>
<button class="button-right">Right</button>
和 jQuery:
function moveRight() {
var lastBlock = $(".stretch .block:last-child");
lastBlock.remove();
$(".stretch .block:first-child").before(lastBlock);
$(".stretch .block").each(function(){
$(this).css("left","0").css("right","0");
$(this).animate({"left": "+=250px"}, "5000");
});
};
function moveLeft() {
var firstBlock = $(".stretch .block:first-child");
firstBlock.remove();
$(".stretch .block:last-child").after(firstBlock);
$(".stretch .block").each(function(){
$(this).css("right","0").css("left","0");
$(this).animate({"right": "+=250px"}, "5000");
});
};
$(".button-right").click(function(){
moveLeft();
});
$(".button-left").click(function(){
moveRight();
});
我得到的结果是只有一个移动功能是用动画(moveRight)滑动。我不明白为什么它不会使用 moveLeft 函数进行动画处理。