0

I am working with jQuery hover and mouseout script but issue is that when I set hover on div when mouseout is working, div gets hide, and visible continuously (blinking).

How to overcome this problem?

Here is my code:

<style>
 .append_div{

 position: absolute;
    top: 8%;
    display: none; 
 background-color: pink;
    border-right: 0px;
    left: 0px;
    padding: 30px;
    display:none;
}

</style>

<body>
  <div class="menu">
  Hover Me 

  </div>

  <div class="append_div">

  </div>


<script src="https://code.jquery.com/jquery-3.3.1.js"></script>

<script>
  $('.menu').hover(function(){

    $(".append_div").show();
    $(".append_div").css({"width":"170px","z-index":"1078"});

});
$( ".menu" ).mouseout(function() {
  $(".append_div").hide('slow');
});
</script>

</body> 
4

2 回答 2

0

如果当鼠标悬停和鼠标悬停快速发生时问题闪烁,请尝试在隐藏hapend_div时延迟:

$( ".menu" ).mouseout(function() {
    setTimeout(function() {
        $(".append_div").hide('slow');
    }, 500);
});
于 2018-09-16T12:32:37.577 回答
0

如果问题的原因是快速尝试,您可以使用stop()finish()功能修复它。

$(".append_div").css({"width":"170px","z-index":"1078"});

$('.menu').hover(function(){
    $( ".append_div" ).finish();
    $(".append_div").show();

});
$( ".menu" ).mouseout(function() {
    $( ".append_div" ).finish();
    $(".append_div").hide('slow');
});

https://jsfiddle.net/63dofz48/16/

或更好的两个缓慢效果的眼睛

https://jsfiddle.net/63dofz48/10/

于 2018-09-16T15:26:15.243 回答