jQuery 点击 SlideUp/Down 脚本

标签 jquery html css

我创建了以下脚本:

$(".clickme").click(function () {
    var isVisible = $(".slide-div").is(":visible");
    $(".slide-div:visible").stop().slideUp(400);

    if (!isVisible) {
        $(".slide-div").slideDown(400);
    }           
});

该脚本运行良好,现在我正尝试通过在 slide-div 外部单击来展开脚本。因此,当我在 div 外部单击时,它也会向上滑动。我尝试使用以下功能,但这不起作用。

$(":not(.slide-div)").click(function () {
    if ($(".slide-div").is(":visible");) {
        $(".slide-div:visible").stop().slideUp(400);
    }
});

最佳答案

怎么样:

$(document).on('click', 'body', function (e) {

    var clicked_slideDiv = $(e.target).closest('.slide-div').length > 0,
        isClickme = $(e.target).is('.clickme'),
        isVisible = $(".slide-div").is(":visible");

    if(isVisible && (isClickme || !clicked_slideDiv)) { 
        $(".slide-div").stop().slideUp(400);
    } else if (!isVisible && isClickme) {
        $(".slide-div").slideDown(400);
    }
});

您可以将 body 切换为您想要将“div 之外”缩小到的任何选择器。

关于jQuery 点击 SlideUp/Down 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36978600/

相关文章:

html - WinJS:显示软键盘时出现滚动问题

html - 导航栏中的垂直居中文本

javascript - 表单内的 Accordion 自动提交

jquery - Bootstrap模态显示/隐藏

JavaScript:对象问题

html - 我的 CSS 不会显示 : inline; for my buttons

javascript - 在 contenteditable 中检测粘贴事件

javascript - 在 JavaScript 中更新具有多行的两个字段

jquery td 的悬停范围

php - 单击 PHP 中的菜单选项时 POST 方法不起作用