Javascript jquerymouseenter和mouseleave创建闪烁

Javascript jquerymouseenter和mouseleave创建闪烁,javascript,jquery,html,Javascript,Jquery,Html,首先,我想说的是,这不是一个重复的问题,因为我已经看了其他问题,似乎没有任何东西适用于我正在做的事情 问题是当我将鼠标悬停在目标div上时,如果我移动鼠标,效果会闪烁,如果我将鼠标悬停在div上并将鼠标保持在同一位置,效果不会闪烁 我尝试过使用.show和.hide等功能,这些功能会给我想要的效果,但我还是遇到了闪烁的问题 这是我使用的HTML <div class="four-icons"> <div class="icon-wrapper col-md-3">

首先,我想说的是,这不是一个重复的问题,因为我已经看了其他问题,似乎没有任何东西适用于我正在做的事情

问题是当我将鼠标悬停在目标div上时,如果我移动鼠标,效果会闪烁,如果我将鼠标悬停在div上并将鼠标保持在同一位置,效果不会闪烁

我尝试过使用.show和.hide等功能,这些功能会给我想要的效果,但我还是遇到了闪烁的问题

这是我使用的HTML

<div class="four-icons">
    <div class="icon-wrapper col-md-3">
        <div class="mouse-over-1"><img src="img/bookatable-hover.png"></div>
        <img class="icons-1" src="img/book%20a%20table.jpg">
    </div>
    <div class="icon-wrapper col-md-3">
        <div class="mouse-over-2"><img src="img/menus-hover.png"></div>
        <img class="icons-2" src="img/menus.jpg">
    </div>
    <div class="icon-wrapper col-md-3">
        <div class="mouse-over-3"><img src="img/christmas-hover.png"></div>
        <img class="icons-3" src="img/christmas.jpg">
    </div>
    <div class="icon-wrapper col-md-3">
        <div class="mouse-over-4"><img src="img/contactus-hover.png"></div>
        <img class="icons-4" src="img/contact.jpg">
    </div>
</div>
以下是代码所在的位置: 以防你想复制这个问题


此外,我确实尝试创建一个JSFIDLE,但无法使其工作,我几乎是一个傻瓜,所以如果这是一个糟糕的问题,我很抱歉

您应该在父元素上绑定mouseenter/mouseleave事件,此代码应该可以工作:

Javascript

$(document).ready(function(){

    $(".icon-wrapper").mouseenter(function(){
        $(this).find('div').css("display", "block").css("position", "absolute");
    });
    $(".icon-wrapper").mouseleave(function(){
        $(this).find('div').css("display", "none");
    });

});
.css
方法之前添加
.stop(true,true)


您可以从绝对位置切换到流量。z索引将被更改,并将产生闪烁。试着使用可见性:隐藏,或者让它们都是绝对的。谢谢你,这正是我想要的工作方式。我会加上这个作为回答(要求我等15分钟)
$(document).ready(function(){

    $(".icon-wrapper").mouseenter(function(){
        $(this).find('div').css("display", "block").css("position", "absolute");
    });
    $(".icon-wrapper").mouseleave(function(){
        $(this).find('div').css("display", "none");
    });

});
$(document).ready(function(){


$("img.icons-1").mouseenter(function(){
    $("div.mouse-over-1").stop(true,true).css("display", "block").css("position", "absolute");
});
$("img.icons-1").mouseleave(function(){
    $("div.mouse-over-1").stop(true,true).css("display", "none");
});



$("img.icons-2").mouseover(function(){
    $("div.mouse-over-2").stop(true,true).css("display", "block").css("position", "absolute");
});
$("img.icons-2").mouseout(function(){
    $("div.mouse-over-2").stop(true,true).css("display", "none");
});



$("img.icons-3").mouseover(function(){
    $("div.mouse-over-3").stop(true,true).css("display", "block").css("position", "absolute");
});
$("img.icons-3").mouseout(function(){
    $("div.mouse-over-3").stop(true,true).css("display", "none");
});



$("img.icons-4").mouseover(function(){
    $("div.mouse-over-4").stop(true,true).css("display", "block").css("position", "absolute");
});
$("img.icons-4").mouseout(function(){
    $("div.mouse-over-4").stop(true,true).css("display", "none");
});