Javascript 在后台单击后自动隐藏窗口

Javascript 在后台单击后自动隐藏窗口,javascript,html,scroll,Javascript,Html,Scroll,我的网站上有很多小窗口,当用户在后台单击时,我的脚本会关闭它们 $(document).mouseup(function (e) { var container = $("#"+active); if (!container.is(e.target) && container.has(e.target).length === 0) { $('#'+active).fadeOut(200); } }); 问题是,当用户滚动站点时,它们也会

我的网站上有很多小窗口,当用户在后台单击时,我的脚本会关闭它们

$(document).mouseup(function (e)
{
    var container = $("#"+active);

    if (!container.is(e.target) && container.has(e.target).length === 0) {
        $('#'+active).fadeOut(200);
    }
});

问题是,当用户滚动站点时,它们也会隐藏-我如何检测到用户不仅仅是单击滚动条?

您可以将事件专门绑定到正文上,而不是仅绑定到文档上:

$(document.body).mouseup ...

我只需要添加防止在用户滚动页面时隐藏请澄清您的问题-如果对象不在视口中,您不希望对象隐藏吗?然后使用
var$container=$('#'+active+':visible')
-并重用var:
$container.fadeOut(200)
或者您的意思是,当用户单击滚动条时,它们也在隐藏?如果对象不在视口中,我不想隐藏它们。我不想在用户单击滚动条并使用滚动条滚动页面时隐藏它们。请尝试
if(e.clientX<$(window.width()-10)