隐藏/取消隐藏图像使用jQuery的悬停
我有3 <a>
标签在我的HTML和他们每个包含2个图像。只显示高分辨率图像,其他图像设置为无。隐藏/取消隐藏图像使用jQuery的悬停
我想隐藏灰度图像,当我将鼠标悬停在grescale图像上并显示彩色图像时。而当我悬停时,我想要彩色图像再次隐藏。我如何使用jQuery来做到这一点?
<a class="mylink" href="">
<img src="img/thumbnails/colored-1.jpg" class="color-image"/>
<img src="img/thumbnails/greyscale-1.jpg" class="greyscale-image"/>
</a>
<a class="mylink" href="">
<img src="img/thumbnails/colored-2.jpg" class="color-image"/>
<img src="img/thumbnails/greyscale-2.jpg" class="greyscale-image"/>
</a>
<a class="mylink" href="">
<img src="img/thumbnails/colored-3.jpg" class="color-image"/>
<img src="img/thumbnails/greyscale-3.jpg" class="greyscale-image"/>
</a>
.color-image
{
display:none
}
为什么使用jQuery而不是纯CSS?
您可以使用:悬停并切换图像的显示。
a.mylink:hover .color-image,
a.mylink .greyscale-image {
display: inline;
}
a.mylink .color-image,
a.mylink:hover .greyscale-image {
display: none;
}
在jQuery中,这只是
function swap(evt) {
var isOver = evt.type === "mouseenter";
link.find(".color-image").toggle(isOver);
link.find(".greyscale-image").toggle(!isOver);
}
$("a.mylink").hover(swap, swap);
谢谢,但如果我想的过渡效果添加到它呢?我仍然可以在CSS中做到这一点? – Vahid 2014-09-10 17:24:44
有CSS过渡 – epascarello 2014-09-10 17:29:20
不幸的是,我卡住了我希望我能得到一个关于如何在jQuery中写这个提示。 – Vahid 2014-09-10 17:33:15
NO jQuery的需要。使用:hover
CSS伪上.myLink
锚,如:
.color-image {
display:none;
}
a.myLink:hover .color-image {
display: block;
}
a.myLink:hover .greyscale-image {
display: none;
}
谢谢你的工作。 – Vahid 2014-09-10 17:25:47
你可以用CSS这样做:悬停。悬停在灰度图像上,显示:无,彩色图像反色。当JS被禁用时,这有利于工作。否则,你可以看看jQuery UI的
我的方式:对
a[class="mylink"]:not(:hover) img[class*="greyscale"],
a[class="mylink"]:hover img[class*="color"] {
display: inline-block;
}
a[class="mylink"]:not(:hover) img[class*="color"],
a[class="mylink"]:hover img[class*="greyscale"] {
display: none;
}
这里是一个演示的jsfiddle
这里是另一个的jsfiddle与过渡。
'a [class =“mylink”]:not(:hover)'Yikes – epascarello 2014-09-10 17:43:13
@espascarello您还没有听说过这类类吗? – Allan 2014-09-10 17:53:02
这是过分的和昂贵的。这个例子中的所有选择器都是有点矫枉过正的。 – epascarello 2014-09-10 17:54:10
为最高upvoted回答说,你并不需要基于jQuery悬停控制CSS – Damian 2014-09-10 17:22:37