переключение отображения состояний странности

0

У меня есть этот jQuery toggle, который меняет отображение одного div с другим. Теперь, если я нажму на link1 (отобразит div.shows), а затем откройте его, а затем снова, я не могу щелкнуть его (или мою домашнюю кнопку) еще раз, если не нажму ссылку link2 (div.depts). Я что-то испортил в своем CSS или я неправильно установил свои истинные/ложные состояния в моем jQuery?

Вот jQuery:

var displayShow = false;
var displayDept = false;
var containerHeight = 130;
$(".showLinks").click(function() {
    if (displayDept) {
        toggleDisplay(".depts",0,0);
        displayDept = false;
        console.log("displayDept: " + displayDept);
    }
    if (displayShow) {
        toggleDisplay(".shows",0,0);
        displayShow = false;
        console.log("displayShow: " + displayShow);
    } else {
        toggleDisplay(".shows",1,containerHeight);
        displayShow = true;
        console.log("displayShow: " + displayShow);
    }
});
$(".deptLinks").click(function() {
    if (displayShow) {
        toggleDisplay(".shows",0,0);
        displayShow = false;
        console.log("displayShow: " + displayShow);
    }
    if (displayDept) {
        toggleDisplay(".depts",0,0);
        displayDept = false;
        console.log("displayDept: " + displayDept);
    } else {
        toggleDisplay(".depts",1,containerHeight);
        displayDept = true;
        console.log("displayDept: " + displayDept);
    }
});
function toggleDisplay(divClass,divOpacity,divHeight) {
    $(divClass).animate({
        opacity: divOpacity,
        height: divHeight
    });
}

Остальное можно найти здесь: http://jsfiddle.net/jawa9000/xn8WB/1/

  • 1
    Отладка Lemme :-) Вопрос по голосованию.
Теги:

2 ответа

0

Я думаю, что моя проблема связана с элементами. Когда div скрывается, чтобы быть скрытым, элемент все еще отображается как таблица-таблица вместо отображения: none.

Чтобы исправить это, я просто добавил следующую ссылку в мои инструкции if/else:

$("div.link1/link2 ul").css("display","none/table-cell");

Спасибо за игру!

0

Похоже, это может быть виновником:

<div class="homeLink">
<a href="#">Home</a>
</div>
    <div class="showLinks">Links1</div>
    <div class="deptLinks">Links2</div>

Вы настраиваете таргетинг:

$(".showLinks") && $(".deptLinks")

В вашем Javascript я не вижу никакого div для вашей домашней ссылки или какой-либо ссылки на них... homeLink изолирован.

Ещё вопросы

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