当我悬停#triangle时,#tri-overlay会显示,但会持续闪烁,因为它与css中的“display:none”有冲突。他一直从“display:none”转到“display:block”,导致闪烁效果。我怎样才能避免这种冲突?jQuery .show()/ .hide()保持闪烁
我使用的是下面的代码。
$(function() {
$('#triangle').hover(function() {
$('#tri-overlay').show();
}, function() {
$('#tri-overlay').hide();
});
});
.slide-des {
width: 50%;
height: 50%;
}
#triangle {
width: 12em;
height: 10em;
position: relative;
background: red;
display: block;
}
#tri-overlay {
background: green;
width: 100%;
height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="tri-overlay" style="display: none;"></div>
<div class="slide-des">
<div id="triangle"></div>
</div>
,你可以做一个[MCVE]使用堆栈段? –
我假定'#tri-overlay'覆盖了##三角形,因此否定了悬停事件,导致它再一次被隐藏,这使得悬停事件再次发生。请发布您的HTML,以便我们可以看到发生了什么。 – Archer
片段是有用的。 –