javascript - 简单的 jQuery 内容 slider

标签 javascript jquery html

我有一个无序列表,其中包含“x”个列表项。将显示这些列表项,但一次只能显示“n”个数量。然后我想添加下一个和上一个,从而将上一个内容滑出并滑入新的“n”个列表项。

然而,我所拥有的功能既可以作为分页器,也可以作为内容 slider 。

jsFiddle

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/

相关文章:

javascript - 使用内联函数对对象数组进行数字排序

javascript - 使用 jQuery/javascript 监控页面使用情况

javascript - 如何通过输入id获取formData文件

javascript - 以编程方式在 UIWebview 中填充数据

jquery - 循环遍历每个元素并存储为变量

jquery - 尝试从 jQuery 调用 asmx 方法时,“命​​名空间”未定义

javascript - jquery 鼠标事件的问题

javascript - 如何仅在页面完全加载后才启动 CSS 动画?

javascript - 在 div 内的第 n 个单词周围插入跨度

javascript - HTML 动态元素生成