2014-01-10 3 views
0

Я создал несколько Jquery в сочетании с CSS, чтобы сделать следующееJquery показать и скрыть противоречивыми

1) при наведении на картинку фации изображения и показывает розовый BG

2) при наведении указателя мыши показывает логотип

проблема заключается в том, что логотип отображается на всех, когда я дублирую классы

Может кто-нибудь помочь.

Пожалуйста, см Fiddle

$(".portfolio-home").hover(function() { 
    $(this).find(".show-logo").show(); 
}, function() { 
    $(this).find(".show-logo").hide(); 
}) 
+0

Вы можете сделать это без каких-либо JQuery только с помощью CSS. – Cam

ответ

4

Это просто li отсутствует на вашем селекторе. В противном случае он будет искать все элементы класса show-logo в пределах ul.

$(".portfolio-home li").hover(function() { 
    $(this).find(".show-logo").show(); 
}, function() { 
    $(this).find(".show-logo").hide(); 
}) 

Демо: http://jsfiddle.net/BC4eY/1435/

+0

+1 Ты избил меня к ней на минуту –

+0

@JoshPowell Hahaha :) – melancia

0

Вы можете использовать .on() метод для этого.

$(".portfolio-home").on('hover', 'li', function() { 
    $(this).find(".show-logo").show(); 
}, function() { 
    $(this).find(".show-logo").hide(); 
}) 
0

Здесь не используется какой-либо JQuery и просто CSS. Не переусердствуйте, это легче, чем вы думаете. Удивительный!

.portfolio-home ul li:hover{ 
background: grey; 
opacity: 0.5; 
} 
ul.portfolio-home li:hover img.show-logo{ 
position: absolute; 
display: block; 
} 

DEMO

Смежные вопросы