Как я могу сделать «слайдер» справа налево (или как угодно), нажав на стрелку Nav

0

Я новичок в jQuery. Мне нужно #rev1 divs (#rev1, #rev2, #rev3) "слайд" один за другим при нажатии на #arrowr. Этот код работает, но после щелчка на #Arrowr @#Rev3 он не #rev1 на #rev1. Не могли бы вы указать мне, как это решить. Как я могу заставить divs менять один за другим, когда я нажимаю #arrowr? И создать Loop? Пожалуйста! Извините за мой бедный английский.

<div id="reviewsc">
    <div id="reviews">
        <div id="rev1" class="revv">rev1</div>
        <div id="rev2" class="rev">rev2</div>
        <div id="rev3" class="rev">rev3</div>
    </div>
    <div id="arrowr">></div>
</div>
<style>
    .rev {
        margin-left: -9999px or opacity:0 or display:none;
    }
    ;
    .revv {
        margin-left: 0px or opacity:1 or display:block;
    }
    ;
</style>
$('div#arrowr').click(function () {
    $('#rev1').removeClass('revv').addClass('rev').next().removeClass('rev').addClass('revv');
    if ($('#rev2').hasClass('revv')) {
        $('div#arrowr').click(function () {
            $('#rev2').removeClass('revv').addClass('rev').next().removeClass('rev').addClass('revv');
        });
    }
    if ($('#rev3').hasClass('revv')) {
        $('div#arrowr').click(function () {
            $('#rev3').removeClass('revv').addClass('rev');
            $(this) // How i can go Back to my #REV1 Div? And start the cycle again
        });
    }
    return false;
});
Теги:

1 ответ

0
Лучший ответ

поскольку остальные скрыты по умолчанию:

var ctr = 1;
var max = $('#reviews').children().length;

$('div#arrowr').click(function () {
    $('#rev'+ctr).removeClass('revv').addClass('rev');
    ctr++;
    if(ctr > max){ //ctr = max+1 => reset ctr
        ctr = 1;
    }    
     $('#rev'+ctr).removeClass('rev').addClass('revv');
});

для другого направления:

$('div#arrowl').click(function () {
    $('#rev'+ctr).removeClass('revv').addClass('rev');
    ctr--;
    if(ctr == 0){ //ctr = 0 => reset ctr
        ctr = max;
    }    
     $('#rev'+ctr).removeClass('rev').addClass('revv');
});

здесь скрипка: http://jsfiddle.net/phgXu/2/

  • 0
    Большое спасибо! работает отлично!
  • 0
    Можете ли вы указать мне на тему о "ctr"? bit.ly/18p6htD (не могу найти его сам)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню