Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery on click SlideUp/Down脚本_Jquery_Html_Css - Fatal编程技术网

jQuery on click SlideUp/Down脚本

jQuery on click SlideUp/Down脚本,jquery,html,css,Jquery,Html,Css,我创建了以下脚本: $(".clickme").click(function () { var isVisible = $(".slide-div").is(":visible"); $(".slide-div:visible").stop().slideUp(400); if (!isVisible) { $(".slide-div").slideDown(400); } }); 脚本运行得很好,现在我尝试在幻灯片分区外

我创建了以下脚本:

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

    if (!isVisible) {
        $(".slide-div").slideDown(400);
    }           
});
脚本运行得很好,现在我尝试在幻灯片分区外单击以展开脚本。因此,当我在分区外单击时,它也会向上滑动。我用下面的函数试过了,但不起作用

$(":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);
    }
});

你可以用任何你想把“div的外部”缩小到的选择器来切换
body

试试
$(“*:not(.slide div)”)…
如果你想让它在每次点击时都能工作,试试这个
$(文档)。在('click','*:not(.slide div'),函数(){$(“.block cart:visible”).stop().slideUp(400);})谢谢你的建议!我不知道现在发生了什么。单击clickme标签时,div向下滑动,但立即再次向上滑动。两个答案都给出了相同的结果。这是因为您
。clickme
之外。我想是幻灯片div
。所以这两个事件都会被触发。非主题:为什么不使用?:)