Оптимизация Js
Всем привет.
Пытаюсь объединить одинаковые js-функции, отличающиеся только классами, но пока ничего не выходит. Может кто подскажет, поставит на путь истинный :) $(function() { $(".scrollingHotSpotLeft").fadeTo("fast", .7); $(".scrollingHotSpotLeft").hover(function(){ $(this).fadeTo("normal", 1); },function(){ $(this).fadeTo("fast", .7); }); }); $(function() { $(".scrollingHotSpotRight").fadeTo("fast", .7); $(".scrollingHotSpotRight").hover(function(){ $(this).fadeTo("normal", 1); },function(){ $(this).fadeTo("fast", .7); }); }); |
а разве не сказывается на скорости постоянное обращение к DOM, я сам еще новичок, но кажется можно сделать что то типа:
$(function() { var fadeThis=$(this); var spotLeft=$(".scrollingHotSpotLeft"); var spotRight=$(".scrollingHotSpotRight"); spotLeft.fadeTo("fast", .7); spotLeft.fadeTo("fast", .7); spotLeft.hover( function(){fadeThis.fadeTo("normal", 1);} function(){fadeThis.fadeTo("fast", .7);} ); spotRight.hover( function(){fadeThis.fadeTo("normal", 1);} function(){fadeThis.fadeTo("fast", .7);} ); }); |
Garovsky, создайте одну функцию, которая в качестве параметра будет принимать имя класса, и оперируйте хоть с сотней классов.
|
Цитата:
$(function() { $(".scrollingHotSpotLeft, .scrollingHotSpotRight").fadeTo("fast", .7); $("$").hover(function(){ $(this).fadeTo("normal", 1); },function(){ $(this).fadeTo("fast", .7); }); }); Цитата:
$(function() { $("#nav li a").fadeTo("fast", 1); $("#nav li a").hover(function(){ $(this).fadeTo("fast", .7); },function(){ $(this).fadeTo("fast", 1); }); }); Не теряю надежды найти более компактное решение и жду новых комментариев :) |
расскажи, что у тебя за список, и что ты с ним сделать хочешь?
|
навигация (расположена на темном фоне), каждый пункт при наведении плавно затемняется.
|
для этого нужны 2 обработчика (mouseover, mouseout)
если же у тебя есть не одно меню, выполненное в разном стиле, то тебе уже сказали Цитата:
хотя это даже не надо, ты ж говоришь у тебя при наведении только fadeIn/fadeOut |
у меня несколько разных классов с одинаковым fadeIn/Out эффектом.
|
Garovsky, сделайте класс, который будет отчечать только за fadeIn/fadeOut, и добавьте его всем элементам, которые должны демонстрировать такое поведение.
|
Часовой пояс GMT +3, время: 15:21. |