@evgen_nova

Почему начало тормозить меню на сайте?

Есть модуль так называемый "суперменю".
Генерируется php - вручную, работает в html с библиотекой css + javascript.
Не так давно, а именно около 2 недель начались проблемы с восприятием работы, при открытии меню идет задержка открытия более установленной (в javascript - 200млс), при выборе пунктов подменю мышкой, идет торможение (при перемещении мышкой на другой пункт меню, его выделение происходит через пару сек).
Пробовали отключать все скрипты, кроме нужных для меню - результат тот же (убрали даже все обновления сделанные до момента "торможения").

Может кто сталкивался с подобной проблемой?
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ответы на вопрос 2
@evgen_nova Автор вопроса
function make_page()
{
	var ext_menu_left = jQuery('#ext_menu').offset().left;
	var ext_menu_width = 950;     
	jQuery('#ext_menu div.sub').each(function(){
		var colnum = jQuery(this).find('div.column').size();
   		var w = colnum*190;
		if(w>935) w = 935; w+=25;

		jQuery(this).css('width', w+'px');

		var l = jQuery(this).parent().offset().left;

		if(l+w>ext_menu_left+ext_menu_width)
		{
			var dl = (l+w) - (ext_menu_left+ext_menu_width)-14;
			jQuery(this).css('left', '-'+dl+'px');
		}
	});
	
	jQuery("#ext_menu2 > li").mouseenter(function(e)
    {
        if( gDDMTimer != null )
        {
            clearTimeout(gDDMTimer);
            gDDMTimer = null;
            jQuery("#ext_menu li.hover").removeClass("hover");
        }
        
        var li = this;
        
        gDDMTimer = setTimeout( function(e)
        {
            jQuery(li).addClass("hover");
            clearTimeout(gDDMTimer);
            gDDMTimer = null;    
        }, 0);
    });
    jQuery("#ext_menu2 > li").mouseleave(function(e)
    {        
        jQuery("#ext_menu li.hover").removeClass("hover");         
        if(gDDMTimer != null) clearTimeout(gDDMTimer);
        gDDMTimer = null;
    });
}
Ответ написан
@inDeepCode
Вероятно, потому что увеличился объем HTML документа в целом, и селекторы JQ типа .find('div.column'), jQuery("#ext_menu2 > li") начинают дико тормозить.
Решение: Указывайте как можно строже ваши селекторы.
Ответ написан
Ваш ответ на вопрос

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

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