Закрыть раскрывающееся меню при щелчке вне егоJquery

Программирование на jquery
Ответить
Anonymous
 Закрыть раскрывающееся меню при щелчке вне его

Сообщение Anonymous »

У меня есть проблема с выпаданием навигации на моем сайте, который я почти решил, но не могу исправить. Я волнуюсь, что, возможно, только что сделал беспорядок из своего кода. Меню не закроется, если вы снова не нажмете кнопку меню. Я наконец -то получил его после того, как вы нажмете на одну из ссылок, но теперь это единственный способ закрыть его. Как я могу закрыть его при нажатии на кнопку меню или где -нибудь еще на сайте? Я уверен, что этот кусочек jQuery - это виновник, но не знаю, как это исправить или обойти его.


Home
About
Services
Work
Testimonials
Contact
Blog



< /code>

и связанный jQuery: < /p>

// When the user clicks on the button, toggle between hiding and showing the dropdown content
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}

//// Close the dropdown menu if the user clicks outside of it
window.onclick = function (event) {
if (!event.target.matches('.dropbtn')) {
dropdowns.forEach(function (openDropdown) {
dropdown.classList.contains('show') && dropdown.classList.remove('show');
});
}
};

////This is the section I made for it to close after clicking a link
jQuery(document).ready(function ($) {
$('.dropbtn').on('click', function () {
$(".dropdown-content").show();
});
$('.navlink').on('click', function () {
$(".dropdown-content").hide();
});
});
< /code>

Это потенциальная проблема, которая обладает другими функциями. < /p>

//Scroll to anchor tags
$(document).on('click', 'a:not(.external)', function (event) {
event.preventDefault();

$('html, body').animate({
scrollTop: $($.attr(this, 'href')).offset().top
}, 500);
});

var $root = $('html, body');
$('a').click(function () {
$root.animate({
scrollTop: $($.attr(this, 'href')).offset().top
}, 500);
return false;
});
< /code>

Что в мире я должен сделать, чтобы исправить свое меню? Функция, которую я использую для добавления выпадающей функции, требует, чтобы класс «показать» был добавлен после того, как элемент .dropbtn нажимается, и удаляется, когда он снова нажимается. />
Обновление 2: Попробуйте другой метод. Проигнорируйте это первое обновление.

Подробнее здесь: https://stackoverflow.com/questions/405 ... side-of-it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»