Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   глючит скрипт меню, вылетает ошибка (https://javascript.ru/forum/jquery/55231-glyuchit-skript-menyu-vyletaet-oshibka.html)

palsx 18.04.2015 23:44

глючит скрипт меню, вылетает ошибка
 
приветствую, вот такой скрипт вешает сайт
$(function() {
	$(".left-menu ul.nav li").bind('click',function() {
		var _this = $(this);
		
		// Раскрываем текущую ссылку 
		_this.toggleClass('open', 5);
		_this.toggleClass('closed', 5);
		// Проходим по другим ссылкам и выключаем активное состояние
		$(".left-menu ul.nav li").not(_this).each(function() {
			$(this).addClass('closed', 5);			
			$(this).removeClass('open', 5);

		});
	});
});

второй день голову ломаю, не пойму в чем проблема.
помогите, пожалуйста.
вот сайт http://toshibaras.ru/

рони 19.04.2015 00:16

palsx,
а что делает цифра 5 в вашем коде и зачем цикл?

рони 19.04.2015 00:48

palsx,
jQuery(function() {
	jQuery(".left-menu ul.nav  li").bind('click',function(event) {
        event.preventDefault();
		var _this = jQuery(this);
		_this.toggleClass('open').toggleClass('closed');
		jQuery(".left-menu ul.nav  li").not(_this).addClass('closed').removeClass('open')
	});
});

palsx 19.04.2015 00:54

я новичек, поэтому не могу ответить на ваши вопросы, но убрал и 5-ки и цикл, вроде ничего не изменилось.
но вроде как нашел причину торможения меню, скрипт обходил все "li", а их было много вложенных, хотя раскрывать нужно было только "li" первого уровня, в общем иказал
".left-menu > ul.nav > li"
и работать стало без тормозов.

palsx 19.04.2015 00:54

вставил ваш код, но ссылки перестали работать.

palsx 19.04.2015 00:55

в общем пока остановился на таком варианте
$(function() {
	$(".left-menu > ul.nav > li").bind('click',function() {
		var _this = $(this);
		
		// Раскрываем текущую ссылку 
		_this.toggleClass('open');
		_this.toggleClass('closed');
	});
});

рони 19.04.2015 01:03

palsx,
тоже самое с >
jQuery(function() {
	jQuery(".left-menu ul.nav > li").bind('click',function(event) {
        event.preventDefault();
		var _this = jQuery(this);
		_this.toggleClass('open').toggleClass('closed');
		jQuery(".left-menu ul.nav > li").not(_this).addClass('closed').removeClass('open')
	});
});

palsx 19.04.2015 01:15

странно, но при таком варианте по ссылкам не происходит переход

рони 19.04.2015 01:28

palsx,
уберите 3 строку

palsx 19.04.2015 01:37

работает, спасибо большое.


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