繁体   English   中英

当它们排在下一行时,如何不切换到第一个或最后一个“ li element”?

[英]How to not switch to the first or last “li element” when they are next in line?

我有一个分页栏,如果您单击“下一个”或“上一个”箭头按钮,它将切换到下一个按钮。

如果列表中的下一个项目是“ .next”或“ .prev”,我写了一些代码保留在当前的“页”号上,但是它不起作用。

我想念什么?

 $(document).ready(function() { var pageItem = $(".pagination li").not(".prev,.next"); var prev = $(".pagination li.prev"); var next = $(".pagination li.next"); pageItem.click(function() { $('li.active').removeClass("active"); $(this).addClass("active"); }); // stay on current button if next or prev button is ".next" or ".prev" next.click(function() { if($('li.active').next() != next) { $('li.active').removeClass('active').next().addClass('active'); } }); prev.click(function() { if($('li.active').prev() != prev) { $('li.active').removeClass('active').prev().addClass('active'); } }); }); 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <nav> <ul class="pagination"> <li class="prev"> <a href="#"><span>&laquo;</span></a> </li> <li class="active"><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li class="next"> <a href="#"><span>&raquo;</span></a> </li> </ul> </nav> 

jQuery选择器返回一个Array对象,除非它们是彼此派生的,否则不能认为它们相等。

var a = [] 
var b = []
console.log(a==b); //would output false

如果更改代码以选择数组中的项目,则将获得实际的DOM节点

$('li.active').next()[0] != next[0]

所有您需要检查的班级名称,请检查下面的更新代码

 $(document).ready(function() { var pageItem = $(".pagination li").not(".prev,.next"); var prev = $(".pagination li.prev"); var next = $(".pagination li.next"); pageItem.click(function() { $('li.active').removeClass("active"); $(this).addClass("active"); }); // stay on current button if next or prev button is ".next" or ".prev" next.click(function() { if($('li.active').next().attr('class') != 'next') { $('li.active').removeClass('active').next().addClass('active'); } }); prev.click(function() { if($('li.active').prev().attr('class') != 'prev') { $('li.active').removeClass('active').prev().addClass('active'); } }); }); 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <nav> <ul class="pagination"> <li class="prev"> <a href="#"><span>&laquo;</span></a> </li> <li class="active"><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li class="next"> <a href="#"><span>&raquo;</span></a> </li> </ul> </nav> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM