jquery - 在使用 jQuery 和悬停事件时遇到问题

标签 jquery html css hover

我想要做的是,当我将鼠标悬停在图像上时,我希望图像变暗,并且我希望文本出现在变暗图像的中心。请查看我的代码,了解我想要发生的事情的一个非常粗略的例子。

我目前拥有的: -- 我在 jQ 中使用不透明度属性来使悬停时的图像变暗 -- 我使用几个月前发现的一个 css 片段使文本居中,该片段使用 display 属性悬停时出现

基本上,我拥有所有组件,并且在光标悬停在文本上之前一切正常。如我的 fiddle 所示,不透明度来回切换多次,直到鼠标离开文本才停止。

tl;dr:当我将鼠标悬停在文本上时,如何防止文本和不透明度来回切换?

Here is an example of my problem

CSS

.centered {
    top: 50%;
    left: 50%;
    /* bring your own prefixes */
    transform: translate(-50%, -50%);
}

#news {
    text-align:center;
    border-top:1px solid #000000;
    border-bottom:1px solid #000000;
    padding:20px 0px;
    background-color:#232323;
}
.newsImage {
    width:100%;
    height:auto;
    position:relative;
}
.newsImageOverlay {
    position:absolute;  
    text-decoration:none;
    color:white;
    background:none;
    z-index:3;
    display:none;
}

jQuery

$(document).ready(
    $("#a1").hover(
        function(){$("#a1").animate({opacity:'0.3'})},
        function(){$("#a1").animate({opacity:'1'});}
    );  
    $("#a1").hover(
        function(){$("#a1Ov").css("display","inline"), "slow"},
        function(){$("#a1Ov").css("display","none"), "slow";}
    );  
});

HTML

<div id="news" class="row">
    <div class="col-sm-4">
        <div id="a1Ov" class="newsImageOverlay centered">Title 1</div>
        <img id="a1" src="project3.png" class="newsImage"/>
    </div>
</div>

欢迎就我的代码如何更高效/更简洁提出任何建议!

最佳答案

只需将悬停效果也添加到文本即可:

$("#a1, #a1Ov").hover(...

关于jquery - 在使用 jQuery 和悬停事件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28127489/

相关文章:

javascript - Draggable 和 ondragstart 之间的区别

jquery - 在带有 id 的表中选择一个带有类的按钮

javascript - 如何使用 jQuery 从文本字段获取输入?

javascript - CSS 将一个 div 直接放在另一个之上

html - 如何制作带编号的段落 (HTML5/CSS3)

价格计算器的 jQuery 模块?

javascript - 如何使用jQuery的delay()作为sleep()?

javascript - 查询某个元素是否有超过1个id,如果有,则将它们连接起来并放回1个id

html - 如何设置 HTML <select> 元素的默认值?

html - <span> 和 <ul> 垂直对齐