我有一张带有8张图片的小图片幻灯片,但只显示5张图片,其他图片则隐藏。
这是html
<div id="itemsListBox">
<ul>
<li><img src="images/home-items/washing_machine.png" alt="" /></li>
<li><img src="images/home-items/refrigerator.png" alt="" /></li>
<li><img src="images/home-items/dishwasher.png" alt="" /></li>
<li><img src="images/home-items/ovens_stoves_hobs.png" alt="" /></li>
<li><img src="images/home-items/extractors.png" alt="" /></li>
<li><img src="images/home-items/microwave_oven.png" alt="" /></li>
<li><img src="images/home-items/coffee_makers.png" alt="" /></li>
<li><img src="images/home-items/washer_dryer.png" alt="" /></li>
<li><img src="images/home-items/tumble_dryer.png" alt="" /></li>
</ul>
</div>
和css:
#itemsListBox {
position: absolute;
top: 90px;
width: 100%;
padding: 0 10%;
overflow: hidden;
}
#itemsListBox ul {
white-space: nowrap;
overflow: hidden;
}
#itemsListBox ul li{
list-style-type: none;
display: inline-block;
width: 18%;
margin: 1%;
}
#itemsListBox ul li img {
width: 100%;
}
我可以使用以下代码移动图像:
$("#rightArrow").click(function(e) {
var curr = $("#itemsListBox ul li:last");
curr.parent().prepend(curr);
});
$("#leftArrow").click(function(e) {
var curr = $("#itemsListBox ul li:first");
curr.parent().append(curr);
});
但我想用动画做一些事情。有什么想法吗?
这是一个现场演示: http://jsfiddle.net/Bergkamp/shnyH/
答案 0 :(得分:0)
您可以尝试类似:
在css中将您的图像位置设置为相对位置:
img {position:relative;}
而不是追加和前置使用Jquery的动画功能来改变左侧位置。
$("img").animate({
left: "-=150px",
}, "slow" );
参见编辑示例:
答案 1 :(得分:0)
以下是使用您的图片向下滑动/向上滑动动画的示例:http://jsfiddle.net/Jag96/5VDTL/
这里的主要障碍是你隐藏了一些图像,一次只显示5个图像,所以你需要在第一个和第五个li元素上设置动画:
$("#itemsListBox ul li:nth-child(5)").slideUp("slow", function () {
curr.hide().prependTo(curr.parent()).slideDown();
});
如果您想要更多自定义动画,也可以使用jQuery .animate()方法。