JQuery 鼠标悬停图像叠加

标签 jquery image html overlay

只是想知道如何才能使它 100% 正确工作。我想我快到了。

基本上,我有一个图像,当我将鼠标悬停在上面时,我希望在顶部显示一个叠加层(它是一个彩色的 div)。

我在这个 fiddle 中有这个半工作.

<img src="http://mirrorchecker.com/images/rod_160.png" width="160"
class="company-image"/>
<div class="company-image-overlay"></div>

/* CSS */
.company-image
{
}
.company-image-overlay
{
width: 160px;
height: 160px;
background-color: #ffb00f;
z-index: 1;
opacity: 0.5;
    position: fixed;
    top: 0.5em;
    display:none;
}

/* JQUERY */
$('.company-image').mouseover(function()
     {
        $('.company-image-overlay').show();
     });
$('.company-image').mouseout(function()
     {
       $('.company-image-overlay').hide();
     });

问题似乎是当覆盖出现时,鼠标不再技术上位于 .company-image 上,因此我们不断循环 over/out 和闪烁的背景。

有什么想法吗?

最佳答案

最简单的解决方案是为两个元素添加一个包装元素:

<div class="wrap">
    <img src="http://mirrorchecker.com/images/rod_160.png" width="160" class="company-image" />
    <div class="company-image-overlay"></div>
</div>

并将 mouseover/mouseout 方法放置到 那个 元素:

$('.wrap').mouseover(function () {
    $('.company-image-overlay').show();
}).mouseout(function () {
    $('.company-image-overlay').hide();
});

JS Fiddle demo .

关于JQuery 鼠标悬停图像叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15722997/

相关文章:

jQuery:悬停时显示和隐藏子div

jquery - 出现 "Object #<NodeList> has no method ' click'"错误?

javascript - 滚动时找到滚动位置

javascript - 继续报错说某物不是函数但找不到原因

php - ajax 和 php 在页面到达底部时从 mysql 加载更多内容

javascript - Chrome 与 Firefox 中的 .click 处理程序

html - 如何删除图像上的选择

ios - 在ios中将多个图像粘贴到圆柱体表面并滚动

jquery - 如何使用 jQuery 动画更改背景图像?

javascript - Vue.js:循环对象时类绑定(bind)不起作用