Javascript代码:
$(".div1").click(function(event){
event.stopPropagation();
$(".div1 div").slideToggle();
});
$(".div2").click(function(event){
event.stopPropagation ();
$(".div2 div").slideToggle();
});
$(document).click(function(event){
$(".div1 div,.div2 div").slideUp();
});
假设我点击了.div1
& .div1 div
向下滑动。然后我点击.div2
但是当执行event.stopPropagation
时,.div1 div
不会向上滑动。所以我该怎么做?我不想把这段代码$(".div1 div").slideUp();
放在一边,因为没有像这样的div太多了
答案 0 :(得分:2)
这将处理无限数量的DIV,因此您无需重写代码。
HTML :(只需在您的父元素中添加.box即可使所有内容更简单:)
<div class="div1 box">
<h2>DIV 1</h2>
<div>
Lorem <br>
Ipsum<br>
....
</div>
</div>
jQuery的:
$(".box").click(function(event){
event.stopPropagation();
var el = $(this).find('div');
check = (el.is(':visible')) ? el.slideUp() : ($('.box > div').slideUp()) (el.slideDown());
});
$(document).click(function(event){
$(".box > div:visible").slideUp();
});