jQuery 另一个 div 在悬停/鼠标离开时不闪烁
jQuery fadein and fadeout another div on hover / mouseleave without blinking
我知道了 HTML:
<div class="cropit-image-preview-container" style="width: 300px; height: 200px; background: yellow; onmouseleave="hideedit()">
<div id="fotoedit" style="display: none;">edit</div>
</div>
还有这个jQuery:
$('.cropit-image-preview-container').hover(function(){
$('#fotoedit').stop().fadeIn();
});
function hideedit(){
$("#fotoedit").stop().fadeOut();
}
所以 fotoedit
出现在鼠标悬停在 cropit-image-preview-container
上并在鼠标离开时消失,当您多次快速悬停和离开时没有 "blink" 效果。它在 firefox 中运行完美,但在 chrome 中运行不佳。正确的做法是什么?
试试下面的方法。
我刚刚从 Div 中删除了 onmouseleave 并正确使用了 jquery 悬停事件。
在悬停事件中,第一个函数是 mouseenter,第二个函数是 mouseleave。
就是这样
$('.cropit-image-preview-container').hover(function(){
$('#fotoedit').stop().fadeIn();
},function(){
$("#fotoedit").stop().fadeOut();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cropit-image-preview-container" style="width: 300px; height: 200px; background: yellow;" >
<div id="fotoedit" style="display: none;">edit</div>
</div>
我知道了 HTML:
<div class="cropit-image-preview-container" style="width: 300px; height: 200px; background: yellow; onmouseleave="hideedit()">
<div id="fotoedit" style="display: none;">edit</div>
</div>
还有这个jQuery:
$('.cropit-image-preview-container').hover(function(){
$('#fotoedit').stop().fadeIn();
});
function hideedit(){
$("#fotoedit").stop().fadeOut();
}
所以 fotoedit
出现在鼠标悬停在 cropit-image-preview-container
上并在鼠标离开时消失,当您多次快速悬停和离开时没有 "blink" 效果。它在 firefox 中运行完美,但在 chrome 中运行不佳。正确的做法是什么?
试试下面的方法。
我刚刚从 Div 中删除了 onmouseleave 并正确使用了 jquery 悬停事件。 在悬停事件中,第一个函数是 mouseenter,第二个函数是 mouseleave。
就是这样
$('.cropit-image-preview-container').hover(function(){
$('#fotoedit').stop().fadeIn();
},function(){
$("#fotoedit").stop().fadeOut();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cropit-image-preview-container" style="width: 300px; height: 200px; background: yellow;" >
<div id="fotoedit" style="display: none;">edit</div>
</div>