我正在尝试创建一个定制的轮播,它已经具有以下功能:
但问题是,一旦达到div的结尾,按钮就不会停用。相反,一切都在不断变化。见下图:
看看jsFiddle:http://jsfiddle.net/vnkRw/2/
$("#left").click(function() {
$(".wrapper").stop(true, true).animate({left: "-=125px"}, 500);
});
$("#right").click(function() {
$(".wrapper").stop(true, true).animate({left: "+=125px"}, 500);
});
如何在到达目的地后停用按钮?例如,在这里:
左侧按钮应该停用,因为不再显示div。
当然,右边也是如此:
目标:到达结束时停用按钮。
答案 0 :(得分:2)
类似
pos=slides=$(".wrapper > div").length;
$("#left").click(function() {
if(pos>3){$(".wrapper").stop(true, true).animate({left: "-=125px"}, 500);pos--;}
});
$("#right").click(function() {
if(pos<slides){$(".wrapper").stop(true, true).animate({left: "+=125px"}, 500);pos++;}
});
$('.carousel').kinetic();
答案 1 :(得分:1)
做旋转木马时需要考虑一些事情,我会让你开始。
我们假设上面的所有内容都是静态的,如果wrapper
的左侧位置是0
,则想法是向右滚动。这是最简单的部分。对于另一个方向,你必须取所有项目的数量,减去可见项目的数量(在你的情况下为3),乘以它们的宽度(包括边距),所有这些提供所有项目是相同的宽度和相同的边距..并且最后你需要将它乘以-1,因为wrapper
的{{1}}位置变为负数。最后,如果left
到达该位置,则不应滚动它
上述迷你文本墙的可视化: