显示前5个子元素,并隐藏他们时,next按钮点击和显示下5与jquery
Show first 5 child elements and hide them when next button is clicked and display next 5 with jquery
所以我要做的是,根据用户有多少段,页面只显示前5段。如果你点击下一步,它会隐藏前5段,并显示接下来的5段…等等。
到目前为止,我似乎已经得到了一些正确的工作。唯一的问题是,当我到达段落结束时,我不再需要点击"上一页"按钮返回。
<div id="container">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>14</p>
<p>15</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>20</p>
<button class="prev" disabled="disabled">Prev</button>
<button class="next">Next </button>
$('#container p:gt(4)').hide();
$('.prev').click(function() {
var first = $('#container').children('p:visible:first');
first.prevAll(':lt(5)').show();
if(first.prevAll().length < 6){
$('.prev').attr('disabled', false);
}
first.prev().nextAll().hide();
$('.next').show();
});
$('.next').click(function() {
var last = $('#container').children('p:visible:last');
last.nextAll(':lt(5)').show();
if(last.nextAll().length < 6){
$('.next').attr('disabled', false);
}
$('.prev').show();
last.next().prevAll().hide();
});
查看我的jfiddle在这里,检查我做错了什么。http://jsfiddle.net/h8G7t/
谢谢,
这是一个更新的小提琴,这是更正。http://jsfiddle.net/h8G7t/1/
你有一些问题。首先是你不正确地启用/禁用了按钮(当它们应该为真时,将它们设置为假)。而且你没有在需要时切换相反按钮的启用状态。
主要的问题是,你的nextall
和prevall
需要有一个选择器的p
标签,因为他们拿起按钮元素和破坏导航。
if(last.nextAll('p').length < 6){ ... }
相关文章:
- 如何在页面重新加载时显示jquery ui对话框
- 如何为显示jquery滑块值的文本框设置默认值
- 突出显示jQuery中单词之间的空格
- 不显示 jQuery 不显眼的验证摘要
- Rails-jQuery 为什么我必须单击两次才能显示 jQuery 效果
- 如何在页面导航上显示jquery警报
- Slider和Date Picker未显示JQuery
- 键入时不要显示jQuery UI自动完成
- 如何显示jQuery自动完成响应并选择它
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 检测文本是否在鼠标上突出显示jQuery
- 30 秒后显示 Jquery UI 对话框
- X 可编辑的编辑值不显示 jquery 集值
- 显示 jQuery 复选框选择
- 用于显示字段的工具提示和显示 Jquery 验证中的错误的工具提示器
- 如果站点上存在多个滑块,则显示 Jquery UI 滑块的值
- 谷歌地图信息框能够显示JQuery UI小部件
- 在标签中以 asp.net 显示 jQuery 的结果
- 当 Javascript 在浏览器中关闭时显示 Jquery .slide() 表单
- 在 Leaflet Map 上显示 jQuery 动态 GeoJSON 内容