Javascript $(';html';)。在另一个单击事件之后单击事件
意图:Javascript $(';html';)。在另一个单击事件之后单击事件,javascript,jquery,html,Javascript,Jquery,Html,意图: 单击(#clickme)一个DIV向下滑动并进入视图(var isclicked=true) 当(var isclicked=true)和单击(#clickme)时,DIV向上滑动并(var isclicked=false) 当(var isclicked=true)和DIV处于视图中时,单击$('html')将DIV向上滑动(var isclicked=false) 问题: 当DIV处于slideDown位置时,(var isclicked=true),单击$('html')会继续触发
if(isclicked == false){
$('#myslider').stop(true, true).slideDown('slow');
isclicked = true;
}else{
$('#myslider').stop(true, true).slideUp('slow');
isclicked = false;
}
演示:放弃全局
选项,只需使用滑块切换即可:
$("#clickme").click(function(e) {
e.stopPropagation();
$("#myslider").slideToggle("slow");
});
$("body").click(function() {
$("#myslider").is(":visible") ? $("#myslider").slideUp("slow") : 0
});
演示:使用$('body')
而不是$('html')
你所说的“只有在DIV为(var isclicked=true)时才触发”是什么意思?请看我的答案,你想要这个吗?这很有效。e、 停止传播();美元(“#myslider”).is(“:visible”)起到了作用。非常感谢。
$("#clickme").click(function(e) {
e.stopPropagation();
$("#myslider").slideToggle("slow");
});
$("body").click(function() {
$("#myslider").is(":visible") ? $("#myslider").slideUp("slow") : 0
});