#triangleにカーソルを合わせると、#tri-overlayが表示されますが、cssの "display:none"と競合しているために点滅し続けます。彼は「表示:なし」から「表示:ブロック」へと変化し続け、ちらつき効果を引き起こす。この矛盾を避けるにはどうすればいいですか?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'が'#triangle'をカバーしていると仮定しているので、ホバーイベントを無効にして再び隠蔽させるので、ホバーイベントが再び発生します。何が起きているかを見るためにhtmlを投稿してください。 – Archer
スニペットは機能するものです。 –