Jquery mouseover and mouseout keeps flashing

让人想犯罪 __ 提交于 2019-12-19 07:48:20

问题


I am having some issues with jQuery MouseOut and MouseOver.

Every time I hover over the selected div, the child div that needs to show appears. however, it starts flashing.

I have no idea why. I have posted the code up on JsFiddle.

http://jsfiddle.net/Dn6Rq/

Here is the HTML code:

<div class="section-item-portal">
<div class="section-text">Lorem Ipsum Dolor Sit Amet, Lorem Ipsum Dolor Sit Amet, Lorem Ipsum Dolor Sit Amet, Lorem Ipsum Dolor Sit Amet, Lorem Ipsum Dolor Sit Amet, Lorem Ipsum Dolor Sit Amet, </div>
</div>

Here is the jQuery:

 $(document).ready(function () {

$('.section-text').hide();

$('.section-item-portal').mouseover(function () {
    $(this).children('.section-text').fadeIn();
});

$('.section-item-portal').mouseout(function () {
    $(this).children('.section-text').fadeOut();
});

});

I would appreciate all your help :)


回答1:


DEMO

Use mouseenter and mouseleave instead.

$(document).ready(function () {

    $('.section-text').hide();

    $('.section-item-portal').mouseenter(function () {
        $(this).children('.section-text').fadeIn();
    });

    $('.section-item-portal').mouseleave(function () {
        $(this).children('.section-text').fadeOut();
    });

});



回答2:


try this

$(document).ready(function() {
    $('.section-text').hide();

    $('.section-item-portal').hover(function() {
        $(this).children('.section-text').fadeIn();
    },function(){
        $(this).children('.section-text').fadeOut();
    });

});



回答3:


In jQuery, both mouseover() and mouseenter() events are fire when the mouse enters the matched element. The only different is in the way of the “event bubbling” handle in child element Ref:http://www.mkyong.com/jquery/different-between-mouseover-and-mouseenter-in-jquery/

Please find the answer in jsfiddle.. http://jsfiddle.net/Dn6Rq/1/

$(document).ready(function () {

    $('.section-text').hide();

    $('.section-item-portal').mouseenter(function () {
        $(this).children('.section-text').fadeIn();
    });

    $('.section-item-portal').mouseleave(function () {
        $(this).children('.section-text').fadeOut();
    });

});


来源:https://stackoverflow.com/questions/18464370/jquery-mouseover-and-mouseout-keeps-flashing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!