Вам необходимо пройти в структуру наведенного элемента. Вы можете использовать .find()
вот так ...
$("block").mouseenter(function(){
$(this).find("site").fadeTo("slow", 0.25);
$(this).find("textOnImage").animate({
opacity: "1"
}, 600 );
});
$("block").mouseleave(function(){
$(this).find("site").fadeTo("slow", 1);
$(this).find("textOnImage").animate({
opacity: "0"
}, 600 );
});
В обработчике события this
является ссылкой на элемент, к которому привязан обработчик.
Вы могли бы также использовать .children()
вместо .find()
, поскольку целевые элементы имеют только один уровень глубины.
Примечание, вы можете использовать .hover()
и передавать две функции, подобные этой ..
$("block").hover(function(){
$(this).find("site").fadeTo("slow", 0.25);
$(this).find("textOnImage").animate({
opacity: "1"
}, 600 );
},
function(){
$(this).find("site").fadeTo("slow", 1);
$(this).find("textOnImage").animate({
opacity: "0"
}, 600 );
});
Возможно, вы также захотите добавить несколько вызовов .stop()
перед вашими вызовами fadeTo
и animate
, в противном случае при быстром наведении курсора анимации будут скопированы в очередь.