var box = document.getElementById("box");
var btn = document.getElementById("btn");
btn.onclick = function(event){
event.stopPropagation();
if(box.style.display = "none"){
box.style.display = "block";
console.log("1")
}else{
box.style.display = "none";
console.log("2")
}
};
window.onclick = function(){
box.style.display = "none"
}
为什么console.log("2")不能执行,不管点几次按钮都只能执行console.log("1"),这是为什么??
if(box.style.display = "none")这句代码有问题
if条件判断语句只允许true或者false,
而上面代码只是赋值语句,应该写成
if(box.style.display == "none")或者
if(box.style.display === "none")
我改了过后第一次点击按钮的时候要点两次div才会显示
@leestar: box原本的样式没有display:none,所以第一次只执行else里的,再点以后才会执行if
@逐影: 原本的样式里面写了display:none的
@leestar: 要写成行内样式:
<div style="display:none"></div>
@逐影: 好吧 ,可以了,谢谢,大神再问你一下,
@leestar: 没有,应该是用来处理flash兼容性问题的
s试试toggle()可以进行样式切换