Почему не работает мое условное утверждение? - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть несколько элементов div внутри элемента section. Когда кто-то нажимает на определенную ссылку, я хочу скрыть все элементы div в элементе section и скрыть только div # one.

Как только div # one становится видимым, когда кто-то нажимает на элемент span, он должен взять div # one и slideUp, а также захватить div # two и slideDown. Когда div # two скользит вниз, у меня есть оператор if, чтобы проверить, виден он или нет. Если он виден, тот же самый элемент span теперь должен взять div # two и slideUp и захватить div # three и slideDown. Условное утверждение, которое я написал, не работает. Пожалуйста, помогите!

function hwdbussSlider() {

$('.dropdown').find('a').click(function() {
    $('.hwdbuss').hide();
    $('#services #one').fadeIn(3000);
});



$('#pagi_hwdbuss').find('span:first').click(function() {
    $('#hwdbuss').find('div').removeClass('hwd_visible');
    $('#services #one').slideUp();
    $('#services #two').addClass('hwd_visible').slideDown();
});

if($('#services #two').hasClass('hwd_visible')) {

    $('#pagi_hwdbuss').find('span:first').click(function() {
        $('hwdbuss').find('div').removeClass('hwd_visible');
        $('#services #two').slideUp();
        $('#services #three').addClass('hwd_visible').slideDown();

    });
}

};

Ответы [ 3 ]

0 голосов
/ 03 ноября 2011

После прочтения .. комментирования .. перечитывания еще раз .. Я думаю, что ваша проблема в том, что вы неправильно используете атрибут ID в своих элементах.Я подозреваю, что у вас есть элементы с одинаковым идентификатором, и поэтому вы видите неожиданные результаты.сделать их занятиями.

я полагаю, что вы звоните $('.hwdbuss') $('#hwdbuss') и $('hwdbuss')

0 голосов
/ 03 ноября 2011

Ваш оператор If оценивается только тогда, когда вызывается hwdbussSlider (). Вы должны поместить условное выражение if в свой обратный вызов click «span: first»

function hwdbussSlider() {

$('.dropdown').find('a').click(function() {
    $('.hwdbuss').hide();
    $('#services #one').fadeIn(3000);
});



$('#pagi_hwdbuss').find('span:first').click(function() {
    $('#hwdbuss').find('div').removeClass('hwd_visible');
    $('#services #one').slideUp();
    $('#services #two').addClass('hwd_visible').slideDown();


    if($('#services #two').hasClass('hwd_visible')) {

        $('#pagi_hwdbuss').find('span:first').click(function() {
            $('hwdbuss').find('div').removeClass('hwd_visible');
            $('#services #two').slideUp();
            $'#services #three').addClass('hwd_visible').slideDown();

        });
    }

});

};
0 голосов
/ 03 ноября 2011

Дело в том, что класс добавляется к событию click в области действия события, но оператор if выполняется в области действия hwdbussSlider(), поэтому фактически класс не будет добавлен пока click не будет сделано.

Я не совсем понимаю, что вы пытаетесь сделать, поэтому я не буду предлагать код, но предыдущее предложение должно помочь вам понять, почему он НЕ работает.

Кроме того, я думаю, что вам не хватает # в последнем $('hwdbuss').find('div') появлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...