首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery鼠标和鼠标创建闪烁

jQuery鼠标和鼠标创建闪烁
EN

Stack Overflow用户
提问于 2016-11-04 16:10:28
回答 2查看 1.6K关注 0票数 3

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

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

我尝试过使用.show和.hide,以及其他能给我想要的效果的函数,但是我还是遇到了闪烁的问题。

这是我使用的HTML。

代码语言:javascript
复制
<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>

这是对应的jQuery:

代码语言:javascript
复制
$(document).ready(function(){


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



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



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



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


});

下面是代码的位置:http://muhammadkasimali.co.uk/Cruise/,以防您想要复制这个问题。

而且,我确实尝试过创建一个JSfiddle,但无法使它工作,我几乎是一个菜鸟,所以我很抱歉,如果这是一个糟糕的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-04 16:14:58

应该将mouseenter/mouseleave事件绑定到父元素上,这段代码应该可以工作:

Javascript

代码语言: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");
    });

});
票数 3
EN

Stack Overflow用户

发布于 2016-11-04 16:15:18

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

文档

代码语言:javascript
复制
$(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");
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40427213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档