.click, Найти следующий элемент класса в родительском, исчезнуть, удалить класс. Повторение - PullRequest
1 голос
/ 24 марта 2012

В идеале, я пытаюсь нажать на div, найти следующий класс в родительском элементе.исчезните в этом классе, удалите класс.

Нажмите еще раз div, затем найдите следующий класс 'page', исчезните, удалите класс.В настоящее время .find, .next, .nextAll приводит к тому, что все ul со страницей класса будут постепенно исчезать.

Ответы [ 3 ]

1 голос
/ 24 марта 2012

Вы можете попробовать:

$("#click").click(function() {
    var active;
    if ($('#container > .active').length) {
        active = $('#container > .active');
        active.removeClass('active');
        active.next().addClass('active');
        active = active.next();
    } else {
        active = $('#container > .page:first');
        active.addClass('active');
    }
    active.fadeIn();
});

(Ваша разметка неверна, это предполагает:)

<div id="container" class="">
    <ul id="page_1"></ul>
    <ul id="page_2" class="page"></ul>
    <ul id="page_3" class="page"></ul>
    <ul id="page_4" class="page"></ul>
 </div>

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

0 голосов
/ 24 марта 2012

Поскольку элемент .page начинает исчезать, вы можете добавить к нему класс visible, который вы исключаете, используя :not в качестве селектора при исчезновении следующего элемента.Смотри http://jsfiddle.net/rTfcy/

0 голосов
/ 24 марта 2012

Попробуйте это.

$('#click').click(function() { 
    $('#container > .page:first').fadeIn();
});
...