Jquery меню не работает? нажмите кнопку слайддаун

0
$('btn').click(function() {
    $('Menu').slideDown();
    }, function() {
        $('btn').click(function(){
          $('Menu').slideUp();
});

});

Все, что я хочу достичь, - это когда btn щелкнет меню slideDown. при повторном нажатии!

Теги:

2 ответа

1

Во-первых, кажется, что вы неправильно выбираете элементы btn и Menu. Вам нужно указать, являются ли они классами или идентификаторами.

Например, используя $('.btn') или $('#btn'). То же самое нужно сделать для Menu.

Чтобы упростить код, попробуйте использовать slideToggle().

$('btn').click(function() {
   $('Menu').slideToggle('slow');
});

демонстрация

ОБНОВИТЬ

Просто для ударов, если вы предпочитаете использовать как slideUp и события slideUp slideDown вашего комментария, вы можете достичь этого, используя функциональность .is(':visible'):

$('#btn').click(function() {
    if ($('#menu').is(":visible")) {
        $('#menu').slideUp('slow');
    }
    else {
        $('#menu').slideDown('slow');
    }  
});

демонстрация

  • 0
    Я новичок в jquery, так что извините за такой основной вопрос. Как бы вы достигли того же результата с помощью слайдов вверх и вниз.
  • 0
    @AndrewJohn slideToggle позаботится об этом за вас. Если элемент вверх, он будет SlideDown. Если элемент не работает, он будет сдвигаться вверх. На мой взгляд, это хорошая практика для использования slideToggle в этом сценарии, но я покажу, как
Показать ещё 1 комментарий
0

Что такое btn и Menu, они являются идентификаторами или классами? Или другое?

Чтобы показать/скрыть элементы путем переключения, существует метод slideToggle.

Ref:

Метод.slideToggle() анимирует высоту согласованных элементов. Это приводит к тому, что нижние части страницы скользят вверх или вниз, появляясь, чтобы выявлять или скрывать элементы. Если элемент изначально отображается, он будет скрыт; если он скрыт, это будет показано. Свойство отображения сохраняется и восстанавливается по мере необходимости. Если элемент имеет отображаемое значение inline, то он скрыт и отображается, он снова будет отображаться в строке. Когда высота достигает 0 после скрывающей анимации, свойство стиля отображения имеет значение none, чтобы гарантировать, что элемент больше не влияет на макет страницы.

Длительность дается в миллисекундах; более высокие значения указывают на более медленную анимацию, а не на более быстрые. "Быстрые" и "медленные" строки могут быть поданы для указания длительности 200 и 600 миллисекунд соответственно.

Код:

$('.btn').click(function() {
    $('#menu').slideToggle('slow');
});

Демо: http://jsfiddle.net/IrvinDominin/HHvjC/

Ещё вопросы

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