當我懸停#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
片段是有用的。 –