微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery淡出闪烁

我有jQuery fade在这里http://dougie.thewestharbour.com/

当你将鼠标悬停在.main-overlay div上时,我希望它会淡出然后当你将鼠标从它上面移开时,我希望它能够淡入.

但是,你可以看到它现在只是闪烁.我猜这是因为div消失所以当它消失时它被视为鼠标输出,但我不知道如何去解决它.

这是我的javascript:

$(document).ready(function () {


    $('.main-overlay').hover(

        //MouSEOver,fadeIn the hidden hover class 
        function() {

            $(this).fadeOut('1000');

        },//MouSEOut,fadeOut the hover class
        function() {

            $(this).fadeIn('1000');   

    }).click (function () {

        //Add selected class if user clicked on it
        $(this).addClass('selected');

    });

});

这是叠加div附加到的项目之一:

<li><div class="main-overlay"></div><span class="caption">The store front</span><img src="http://dougie.thewestharbour.com/wp-content/uploads/store-front.jpg" alt="store front" title="store-front" width="730" height="360" class="alignnone size-full wp-image-98" /></li>

谢谢,

解决方法

之所以发生这种情况是因为fadeOut的结尾处有一个显示:none,所以当你在fadeOut完成后移动你的鼠标时,它会触发unhover功能.相反,只需为不透明度设置动画:
$('.main-overlay').hover(function() {
    $(this).animate({opacity: 0},1000);
},function() {
    $(this).animate({opacity: 1},1000);
})

Example →

原文地址:https://www.jb51.cc/jquery/180698.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐