Оптимизация 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, время: 20:37. |