【发布时间】:2015-10-22 07:47:11
【问题描述】:
我有它在其中托管图像。当一个人悬停时,另一个人会在上面放置几个选项,其中包括一个 .当鼠标离开 this 时,覆盖消失。
更具体地说:
HTML
<li id="pos-1" class="hoverable">
<img src="/3676136a.jpg?1445498347" width="170" border="0" >
<div class="hover-window">
<div class="view-holder">
<select autocomplete="off" >
<option disabled="" selected="selected" value="-1">Pick a view... </option>
<option value="1">BOOT</option>
<option value="2">COCKPIT</option>
<option value="3">FRONT</option>
</select>
</div>
</div>
</li>
jquery
var onPhoto = $(this).find(".hover-window");
$('.hoverable').on('mouseenter',function(e) {
console.log("entered the area");
e.stopPropagation();
onPhoto.fadeIn();
});
$('.hoverable').on('mouseleave',function(e) {
console.log("left the area");
e.stopPropagation();
onPhoto.fadeOut();
});
当然,这适用于 Chrome,但 Chrome 通常非常“聪明”,并且有许多有用的功能可以帮助他了解自己想要做什么。但是,有时它们可能会在交叉浏览方面误导您。 在 Firefox 和 IE 上,选择 > 选项悬停的那一刻,.hover-window 就会消失。
有什么想法吗?非常感谢!
【问题讨论】:
-
您是否希望悬停效果仅出现在图片上而不出现在其余代码上?
-
是的。想象一张照片,它有一个显示选项的较暗叠加层。较暗的叠加层是通过悬停窗口类触发的。
标签: jquery html css mouseevent mouseleave