@denn70

Как удалить класс блока по клику в любом месте страницы?

Всем привет, на сайте есть адаптивное меню на jquery , выезжающее слева при клике по
<a href="#" data-toggle=".container" id="sidebar-toggle"></a>


Иницилизируется скрипт кодом
$(window).load(function(){
      $("[data-toggle]").click(function() {
        var toggle_el = $(this).data("toggle");
        $(toggle_el).toggleClass("open-sidebar");
      });
	  
	});


к основному блоку добавляется класс .open-sidebar

Стоит задача при клике на любом месте страницы свернуть меню, т.е удалить класс .open-sidebar. К сожалению, плохо разбираюсь в JS
  • Вопрос задан
  • 1810 просмотров
Решения вопроса 1
@denn70 Автор вопроса
В результате придумал только такой способ, чтобы можно было закрывать по клику в любом месте и по крестику заодно

<script type='text/javascript'>
$(window).load(function(){
$("#mobile-menu-toggle").click(function(){ // - при клике по кнопке
   $(".container").toggleClass("open-sidebar"); // - Основной контейнер сдвигается вправо на 240px
   $("#sidebar").toggleClass("open");// - меню сдвигается вправо на 240px и появляется)

});

$('.container').on('click',function(){ // - при клике по любому месту основного контейнера сайта
$('.container').removeClass('open-sidebar'); // - Основной контейнер отьезжает назад на 240px
$("#sidebar").removeClass("open"); // - меню отьезжает на 240px назад и прячется)
});

$(".close").click(function(){ // - закрытие по крестику
   $(".container").removeClass("open-sidebar");
  $("#sidebar").removeClass("open");

});
});

</script>
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
$('body').on('click',function(){
$('.open-sidebar').removeClass('.open-sidebar');
});
Ответ написан
Maximum_Live
@Maximum_Live
учусь php
Это первый пример с модальным окном: codepen.io/maximvelin/pen/jrqKaR
Это второй пример с меню : codepen.io/maximvelin/pen/YWqvvY

Но и естественно я не претендую на звание лучшего кодера.
Принцип работы в обоих примерах один и тот же
Оба примера закрываются в любом месте экрана.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы