jquery淡入/淡出第二次不工作,它立即消失

时间:2014-10-11 17:35:18

标签: jquery fade

我有一些文字说“登录/注册”。 当您单击文本时,一个框会在其下方淡入,并带有一些登录选项。然后当你在那个盒子外面点击时它会再次淡出。

$(document).ready(function() {

$("#menu").on("click","#login",function() {
//the following is to keep this part clickable.
    $(this).find('div, span, input, a').addClass('noclick');

    $('#signups').fadeIn(200, function() {
        $('html').on('click', function(event) {
            var target = $( event.target );
                if (target.is('.noclick')) {                        
                }
                else{
                    $('#signups').fadeOut(200);
                }
            });
        });
    });
});

不知道为什么它不起作用任何帮助将不胜感激。

另外哪个jquery版本应该在页面顶部添加一个链接?或者没关系?

感谢名单

修改 仍有问题....如果您想提供帮助,请阅读第一个答案的评论。三江源

1 个答案:

答案 0 :(得分:1)

您需要在文档上处理一次冒泡点击事件。这意味着你需要在jQuery方法one中使用selector参数。 将此$('html').on(...替换为:

$(document).one('click', ':not(.noclick)', function() {
    $('#signups').fadeOut(200);
});

我推荐你最新的第一个或第二个jQuery版本。