metr0
@metr0

Открытие блока по клику?

Всем привет, есть кнопка по нажатию на нее открывается див, я сделал что бы по клику на этот див он закрывался, все казалось бы хорошо, но вот если еще раз нажать на эту кнопку, то див не открывается. Помогите пожалуйста)

//<![CDATA[ 
$(window).load(function(){
	$('.lm-toggle').on('click', function(){
	$('#sidebar-bg').toggleClass('act');
	});
});
//]]>

//<![CDATA[ 
$(window).load(function(){
	$('#sidebar-bg').on('click', function(){
	$('#sidebar-bg').toggleClass('no');
	});
});
//]]>


#sidebar-bg {
    background: rgba(0,0,0,.5);
    width: 100%;
    height: 100%;
    display: none;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;

    -webkit-animation-duration: 0.1s; 
    animation-duration: 0.1s; 
    -webkit-animation-fill-mode: both; 
    animation-fill-mode: both; 
    -webkit-animation-name: fadeIn; 
    animation-name: fadeIn; 
}

#sidebar-bg.act {
    display: block;
}

#sidebar-bg.no {
    display: none;
}


<div id="sidebar-bg"></div>

Сразу скажу что знаний у меня в JQ = 0.
  • Вопрос задан
  • 750 просмотров
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Вы добавили слишком много сущностей.

1. Достаточно одного класса .act, а вот display: none вынесите в базовый стиль.
2. Прочитайте про document.ready, использовать load недальновидно.
3. CDATA не нужна.
4. Не нужно писать для каждого действия свою отдельную обертку в виде window.load

jsfiddle.net/IonDen/mnw8L0zc
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Steely
$('#sidebar-bg').toggle()
Ответ написан
Ваш ответ на вопрос

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

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