Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   помогите модернизировать простенький скрипт (https://javascript.ru/forum/misc/59158-pomogite-modernizirovat-prostenkijj-skript.html)

seddx 30.10.2015 08:51

помогите модернизировать простенький скрипт
 
Есть скрипт, отвечающий за появления блока:

<script>
			var menuLeft = document.getElementById( 'spmenu-s1' ),
				body = document.body;

			showLeft.onclick = function() {
				classie.toggle( this, 'active' );
				classie.toggle( menuLeft, 'spmenu-open' );
				disableOther( 'showLeft' );
			};

			function disableOther( button ) {
				if( button !== 'showLeft' ) {
					classie.toggle( showLeft, 'disabled' );
				}
			}
		</script>


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

ksa 30.10.2015 09:20

seddx, как правило вешают обработчик click на все body... И если кликнули за пределами твоего контейнера - гасить его.

рони 30.10.2015 09:26

seddx,
Закрытие блока по клику вне блока или по кнопке закрыть

seddx 30.10.2015 09:57

Дело в том, что у меня блок выезжает по нажатию кнопки. Если я сделаю обработчик в body, он будет тупо прятать его, а не скрывать обратно.

ронни, спасибо, но что-то не получается совместить мой скрипт с вашим..

ksa 30.10.2015 10:19

Цитата:

Сообщение от seddx
Если я сделаю обработчик в body, он будет тупо прятать его, а не скрывать обратно.

Так сделай как тебе нужно. :)
Зачем делать не так как тебе нужно?

seddx 30.10.2015 10:40

Цитата:

Сообщение от ksa (Сообщение 393682)
Так сделай как тебе нужно. :)
Зачем делать не так как тебе нужно?

Да, сейчас подумаю и свангую, как это было в предыдущей теме :)

Лучшего ответа я и не ожидал :lol:

рони 30.10.2015 10:40

seddx,
строки div.style.display замените на classie.toggle и наверно classie.remove


Часовой пояс GMT +3, время: 01:10.