У меня есть некоторый код jQuery, который выделяет ссылку при нажатии и изменяет размер шрифта и цвет определенных ссылок на странице. Моя проблема в том, что некоторые функции в моем jQuery выполняются на ВСЕХ ссылках на сайте, а не только на тех в div, на которые я пытаюсь ориентироваться.
Вот мой код:
$(document).ready(function() {
slide("#sliding-navigation", 22, 17, 175, .8);
});
function slide(navigation_id, font_out, font_in, time, multiplier) {
// Creates the target paths
var list_elements = navigation_id + " li.sliding-element";
var link_elements = list_elements + " a";
// Initiates the timer used for the initial sliding animation
var timer = 0;
// Create the beginning slide animation
$(list_elements).each(function(i) {
// updates timer
timer = (timer*multiplier + time);
$(this).animate({ marginLeft: "0" }, timer);
$(this).animate({ marginLeft: "15px" }, timer);
$(this).animate({ marginLeft: "0" }, timer);
});
// Creates the hover effect
$(link_elements).each(function(i) {
$(this).mouseenter(function () {
$(this).animate({ fontSize: font_out }, 200);
}),
$(this).mouseleave(function () {
$(this).animate({ fontSize: font_in }, 400);
}),
// Highlights active link
$('a').addClass('inactive');
$('a').click(function() {
$('ul#sliding-navigation a').stop().animate({ fontSize : font_in }, 500);
$(this).stop().animate({ fontSize : font_out }, 0);
$('a.active').mouseenter(function () {
$(this).stop().animate({ fontSize : font_out }, 200);
}).mouseleave(function() {
$(this).stop().animate({ fontSize : font_in }, 400);
}),
$('a.active').addClass('inactive');
$('a.active').removeClass('active');
$(this).removeClass('inactive');
$(this).addClass('active');
$(this).unbind('mouseleave mouseenter');
});
});
}
Я почти уверен, что проблема в этой строке:
$(this).stop().animate({ fontSize : font_out }, 0);
Есть ли способ поместить что-то в начало этой строки, чтобы "this
" было активным, только если это ссылка в списке "ul#sliding-navigation
"?
Спасибо за помощь! Я действительно ценю это ...