我有一个无序列表,其中包含“x”个列表项。将显示这些列表项,但一次只能显示“n”个数量。然后我想添加下一个和上一个,从而将上一个内容滑出并滑入新的“n”个列表项。
然而,我所拥有的功能既可以作为分页器,也可以作为内容 slider 。
HTML
<ul>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
<li><span class="box"></span></li>
</ul>
<a href="" id="prev">Prev</a>
<a href="" id="next">Next</a>
CSS
body {
margin: 5px;
}
ul {
overflow: hidden;
}
li {
float: left;
}
.box {
width: 100px;
height: 100px;
background: #33cccc;
margin: 5px;
display: block;
}
JS
var from = 0, step = 3;
// show show next function
function showNext(list) {
list
.find('li').hide().end()
.find('li:lt(' + (from + step) + '):not(li:lt(' + from + '))')
.show();
from += step;
}
// show previous function
function showPrevious(list) {
from -= step;
list
.find('li').hide().end()
.find('li:lt(' + from + '):not(li:lt(' + (from - step) + '))')
.show();
}
// show initial set
showNext($('ul'));
// clicking on the 'more' link:
$('#more').click(function(e) {
e.preventDefault();
showNext($('ul'));
});
// clicking on the 'prev' link:
$('#prev').click(function(e) {
e.preventDefault();
showPrevious($('ul'));
});
最佳答案
如果我没理解错的话,你想从侧面滑动下一个/上一个项目。
您需要用overflow:hidden
制作一个包含所有项目的长 block 和一个固定大小的包装 block 。然后动画内部 block 的位置 (position:relative;left:-...px;
) 或 wrapper scroll https://jsfiddle.net/uXn2p/1/
关于javascript - 简单的 jQuery 内容 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14287478/