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
。所以这两个事件都会被触发。非主题:为什么不使用?:)