Wie erstellen Sie einfach next und prev trigger-Knopf für Schieberegler, die Paginierung Tasten?

Ich versuche zu tragen, eine Klasse zwischen li's mit kombinieren each() und eq() Methoden, wenn Schaltflächen angeklickt. Ich verwende den gleichen code mit previous und next Tasten, mit Ausnahme i+1 und i-1 aber es ist wieder, mir verschiedene Probleme.

Hier ist das jsFiddle zu untersuchen.

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
        }
    });
});
Schreibe einen Kommentar