我有一个按钮<a>
,可以切换下拉列表
然后,它还应该将单击事件绑定(一次)到文档,单击它时应该将其向上滑动。
我从这个HTML和JS开始...... 有任何建议如何使这项工作?
<a class="a" href="#">continue shopping</a>
<div class="b">
<a href="#">continue 1</a>
<a href="#">continue 2</a>
<a href="#">continue 3</a>
<a href="#">continue 4</a>
</div>
$(".a").toggle(function(event){
buttonEvent = $(event.target)
$(this).addClass("open").next(".a").slideDown(500);
$(document).one("click",function(e){
if(!$(e.target).is(".a") && !buttonEvent.hasClass("b")){
$(".b").slideUp(500)
}
})
},
function(){
$(this).removeClass("open").next(".continueShopCntnr").slideUp(500)
});
但它仍然是马车..再次点击继续购物它什么都不做
答案 0 :(得分:1)
也许这会更好用......它会关闭文档点击中的任何打开的。
编辑:实际上测试了这段代码(与之前的答案相比),并且我理解了这些要求。
$(".continueShop").toggle(
function(){
$(this).removeClass("open").next(".continueShopCntnr").slideUp(500)
},
function(){
$(this).addClass("open").next(".continueShopCntnr").slideDown(500);
$(document).one("click",function() {
$(".continueShop.open").each(function() {
$(this).click();
});
});
}
);