Jquery显示和隐藏冲突

Posted

技术标签:

【中文标题】Jquery显示和隐藏冲突【英文标题】:Jquery show and hide conflicting 【发布时间】:2014-01-29 17:52:19 【问题描述】:

我创建了一些结合 css 的 Jquery 来执行以下操作

1) 将鼠标悬停在图像上时,图像会褪色并显示粉红色背景

2) 悬停时显示徽标

问题是,当我复制课程时,所有的标志都显示出来了

谁能帮忙。

请看Fiddle

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

【问题讨论】:

你可以在没有任何 jquery 的情况下使用 css 来做到这一点。 【参考方案1】:

只是您的选择器上缺少li。否则它将在ul 中搜索所有具有show-logo 类的元素。

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

演示:http://jsfiddle.net/BC4eY/1435/

【讨论】:

@JoshPowell 哈哈哈 :)【参考方案2】:

您可以为此使用.on() 方法。

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

【讨论】:

【参考方案3】:

这里没有使用任何类型的 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

【讨论】:

以上是关于Jquery显示和隐藏冲突的主要内容,如果未能解决你的问题,请参考以下文章

jQuery插件冲突 - 请协助

关闭引导弹出事件与 jquery 验证插件冲突

点击div和某些控件之外的地方隐藏div,点击div不隐藏。对象 click和document click冲突有关问题

两个JS,网页导航栏和图片切换冲突,导航栏用Jquery 是否因为函数名$ 冲突 怎么改?

解决多库冲突的方法

jQuery - 隐藏的类没有用淡入淡出显示