2013-04-17 4 views
0

Я использую следующий код:Как настроить таргетинг на один класс с помощью jquery?

$("img").hover(function() { 
    $(".portfolio4").stop().animate({opacity: "0.8"}, 'slow'); 
}, 
function() { 
    $(".portfolio4").stop().animate({opacity: "1"}, 'slow'); 
}); 

творю галерею, которая реагирует, поэтому я использую DIV с классом «portfolio4», чтобы держать все мои изображения.

Когда я использую приведенный выше код и наведите указатель мыши на одно изображение, он погаснет ВСЕ из портфеля , когда я хочу, чтобы он просто уменьшал фактический div, что изображение вложено внутри.

Надеюсь, что это имеет смысл?

Любая помощь будет высоко оценена. Я знаю, что это будет что-то простое, но я не уверен, как его изменить.

Благодаря

ответ

3

Используйте closest, чтобы добраться до ограждающей DIV:

$("img").hover(function() { 
    $(this).closest(".portfolio4").stop().animate({opacity: "0.8"}, 'slow'); 
}, 
function() { 
    $(this).closest(".portfolio4").stop().animate({opacity: "1"}, 'slow'); 
}); 
+1

возможно [родители()] (http://api.jquery.com/parents/) имеет больше смысла ? –

+1

ближайший лучше в случае, если структура html немного изменится – Evan

+0

Единственный случай, который я мог видеть, что это нарушение будет, если бы парящий img имел 2 предка с классом '.portfolio4'. Я в замешательстве? –

1
$("img").hover(function() { 
    $(this).parents(".portfolio4").stop().animate({opacity: "0.8"}, 'slow'); 
}, 
function() { 
    $(this).parents(".portfolio4").stop().animate({opacity: "1"}, 'slow'); 
}); 
Смежные вопросы