Javascript mouseenter/mouseout使div闪烁
我有一个工具提示,显示在mouseenter事件上,隐藏在mouseout事件上。有时,并非总是,当鼠标在工具提示的图像内移动时,工具提示会闪烁。我怎样才能防止这种情况发生?有更好的方法吗 这是我的密码:Javascript mouseenter/mouseout使div闪烁,javascript,jquery,tooltip,mouseenter,mouseout,Javascript,Jquery,Tooltip,Mouseenter,Mouseout,我有一个工具提示,显示在mouseenter事件上,隐藏在mouseout事件上。有时,并非总是,当鼠标在工具提示的图像内移动时,工具提示会闪烁。我怎样才能防止这种情况发生?有更好的方法吗 这是我的密码: $('#home_pic').mouseenter(function() { $('#home_tip').show(); }); $('#home_pic').mouseout(function() { $('#home_tip').hide(); }); 尝试mousel
$('#home_pic').mouseenter(function() {
$('#home_tip').show();
});
$('#home_pic').mouseout(function() {
$('#home_tip').hide();
});
尝试mouseleave而不是mouseout,如下所示:
使用mouseleave代替mouseout() 或者使用。悬停
$('#home_pic').hover(function() {
$('#home_tip').hide();
},function() {
$('#home_tip').show();
});
您需要以适当的方式编写mouseenter和mouseleave函数,如下所示:
$('#home_pic').mouseenter(function() {
$("#home_pic").show();
},mouseleave(function() {
$("#home_pic").hide();
}));
注意:代码未测试为正常工作。您可以使用
toggle()
函数进行此操作,它接受布尔值来设置状态,如下所示:
$('#home_pic').on('mouseenter mouseleave', function(e) {
$('#home_tip').toggle(e.type==='mouseenter');
});
如果工具提示在主页图片上运行,您也可以尝试类似的操作-我使用了非常类似的代码在图像地图上弹出气泡
$('#research_area').mouseover(function() {
$('img#research').css('display', 'block');
runthis();
});
function runthis () {
if ( $('img#research').css('display') == 'block') {
$('img#research').mouseleave(function() {
$(this).css('display', 'none');
});
}
$(此)将不会引用正确的div。请注意,悬停div与工具提示div不同。编辑该部分,这就是为什么我确保将未测试的代码放入。因此,它仍然应该是代码中的“主页”提示。此外,在本例中,您将mouseleave函数的结果作为处理程序传递给mouseenter。我想这就是你要找的:$('home_pic').mouseenter(function(){$('home_tip').show();}.mouseleave(function(){$('home_tip').hide()});我刚才注意到了Ankit!我想,“一般来说,+1注释不是带有+1向上投票吗?”同样值得注意的是.hover只调用mouseenter和mouseleave。我知道hover调用mouseenter并离开,但它减少了代码大小。我喜欢这种方法+1(真的)
$('#research_area').mouseover(function() {
$('img#research').css('display', 'block');
runthis();
});
function runthis () {
if ( $('img#research').css('display') == 'block') {
$('img#research').mouseleave(function() {
$(this).css('display', 'none');
});
}