Привет всем У меня есть довольно прямо вперед функцияПочему этот jQuery .animate звонит так медленно?
enableModule : function(moduleName){
var module = $('div#'+moduleName);
console.log('enabling '+moduleName);
console.time('animate');
module.animate({'opacity' : '1.0'}, 300, function(){console.timeEnd('animate');});
module.find('.disabled_sheild').remove();
module.removeClass('disabled');
console.log('end of enable Module');
}
анимация его самость, изменение непрозрачности, очень быстро, но есть как задержка в вызове его. console.time() сообщает время 2540MS и выше. Я думаю, это может быть потому, что модуль div # анимируется вместе со своими детьми? но этот доцент имеет смысл, потому что у меня есть другая функция «disableModule», которая делает то же самое в обратном порядке и работает на разумной скорости.
Вот отключить функцию модуля, значительно больше происходит, но возвращает времена около 242ms
disableModule : function(moduleName){
$('div#'+moduleName+', div.'+moduleName).each(function(){
var module = $(this);
module.prepend('<div class="disabled_sheild"></div>');
var sheild = module.find('.disabled_sheild');
sheild.css({'position' : 'absolute', 'z-index' : '200'});
sheild.width(module.width());
sheild.height(module.height());
jQuery.each(jQuery.browser, function(i) {
if($.browser.msie){
//module.css("display","none");
//if using ie give sheild a transparent background layout
}else{
console.time('animate');
module.animate({'opacity' : '0.5'}, function(){ console.timeEnd('animate');});
}
});
});
}