我想要做的是,当我将鼠标悬停在图像上时,我希望图像变暗,并且我希望文本出现在变暗图像的中心。请查看我的代码,了解我想要发生的事情的一个非常粗略的例子。
我目前拥有的: -- 我在 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/