javascript - 如何为 slider 的分页按钮创建简单的下一个和上一个触发按钮?

标签 javascript jquery html click each

我试图在 li 之间携带一个类,并在单击按钮时结合使用 each()eq() 方法。除了 i+1i-1 之外,我对上一个和下一个按钮使用相同的代码,但它返回给我不同的问题。

Here is jsFiddle to examine.

html:

<span class="prev">prev</span>
<ul>
    <li>0</li>
    <li>1</li>
    <li class="active">2</li>
    <li>3</li>
    <li>4</li>
</ul>
<span class="next">next</span>

jQuery:

var li = $('li');

$('.prev').click(function() {
    li.each(function(i) {
        if ( $(this).hasClass('active') ) {
            console.log(i);
            //this returning current true value = 2

            li.removeClass('active');
            li.eq(i-1).addClass('active');
            //this is working better
            //problem is: not selecting 4
        }
    });
});

$('.next').click(function() {
    li.each(function(i) {
        if ( $(this).hasClass('active') ) {
            console.log(i);
            //this returning current true value = 2

            //problem starts:
            //li.removeClass('active');
            //when this is active; all active classes are gone

            li.eq(i+1).addClass('active');
            //try to select next 'li' here
            //but it is selecting all li's bigger than current value
        }
    });
});

最佳答案

我会尝试使用更像:

Here is working jsFiddle.

$(".next").click(function(){
    if($("li.active").next().length > 0){
        $("li.active").removeClass("active").next("li").addClass("active");
    }
});
$(".prev").click(function(){
    if($("li.active").prev().length > 0){
        $("li.active").removeClass("active").prev("li").addClass("active");
    }
});​

使用“下一个”选择器:Jquery Next

我尽可能避免数学。数数很难 :-)。那就是说我认为您上面的问题可能与索引有关。很难说。在处理这样的列表时,我会避免使用像“li”这样的选择器。尝试将一个类放在它的“ul”部分并将你的 li 作为:“.myList li”

关于javascript - 如何为 slider 的分页按钮创建简单的下一个和上一个触发按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11934691/

相关文章:

javascript - 如何在 React 中限制表格高度并将滚动条附加到表格主体?

javascript - 数组大小 114467 好,114468 不行

javascript - jQuery 演练插件

html - 在 Rails 中输出一个包含 html 代码的变量 Ruby on Rails

javascript - 未定义类时如何从 ajax 响应中获取 anchor 标记值

javascript - 使用 ajax 和未知表单字段发布表单

javascript - MomentJS 错误输出

javascript - 为什么这个mysql错误导致nodejs崩溃而不是去catch函数?

javascript - 如何在事件时使选项卡中的方 block 具有不同的颜色

javascript - 使用 javascript 获取完整图像路径并放入 img src