Сначала я пишу раскрывающееся верхнее меню в html:
<div class="top-menu-contain">
<div class="pull-button" ><a href="#">Show Me</a></div>
<div class="pull-button"style="display: none;"><a href="#">Hide Me</a></div>
</div>
В состоянии по умолчанию, верхнее меню в верхней части браузера с «фиксированным» свойством css , и устанавливаю «top:-100px; ", показывать только кнопку извлечения. Затем я пишу код jquery для достижения эффекта, заставляющего меню скользить вниз:
$('.pull-button a').toggle(function () {
$('.top-menu-contain').animate({ top: '+=100px' }, 'slow');
}, function () {
$('.top-menu-contain').animate({ top: '-=100px' }, 'slow');
на самом деле это работает хорошо, затем я добавляю функцию, которая, когдаменю сдвинется вниз, кнопка может измениться с «Показать меня» на «Скрыть меня», затем я добавлю этот код jquery: $ («div.pull-button»). toggle (); Так чтообщий код jquery:
$('.pull-button a').toggle(function () {
$('.top-menu-contain').animate({ top: '+=100px' }, 'slow');
$("div.pull-button").toggle();
}, function () {
$('.top-menu-contain').animate({ top: '-=100px' }, 'slow');
$("div.pull-button").toggle();
});
Однако сейчас он не работает, кнопка может измениться, она дважды сдвинется вниз, затем сдвинется вверх дважды
вотонлайн-кейс
Так что не так с моим кодом jquery? Как я могу добиться этого правильным образом? Спасибо!