美好的一天!我可以请问下面的代码是什么意思,特别是关于(dialog.style.visibility ==“visible”)的部分? “隐藏”:“可见”;
dialog = document.getElementById("divName");
dialog.style.visibility = (dialog.style.visibility == "visible") ? "hidden" : "visible";
答案 0 :(得分:0)
如果对话框当前可见,则会隐藏它。相反,如果它当前不可见,那么它将显示它。
这称为内联if语句: http://noobflash.com/javascript-inline-if-statement/
答案 1 :(得分:0)
此代码将切换ID为divName
的HTML元素的CSS visibility属性。
代码(dialog.style.visibility == "visible") ? "hidden" : "visible";
使用conditional operator。
在您的上下文中,这与使用:
具有相同的效果if (dialog.style.visibility == "visible") {
dialog.style.visibility = "hidden";
}
else {
dialog.style.visibility = "visible;
}
答案 2 :(得分:0)
我对这种风格的理解是,你可以隐藏某些东西,但如果它被显示,它仍会占用它本来会占用的空间。
display: none
本质上从文档流中删除“元素”,如position: absoulute
那样。
Read more about the CSS visility style
var result = expression ? thisIfTrue : elseThisIfFalse
dialog = document.getElementById("divName");
dialog.style.visibility =
(dialog.style.visibility == "visible") ? "hidden" : "visible";
上面的代码使用了三元语句:
// If visibility is equal to 'visible' visible
dialog.style.visibility == "visible"
? "hidden" // then set it to hidden,
: "visible"; // otherwise set it to visible
Read more more about the ternary operator in javascript here
答案 3 :(得分:0)
visibility属性设置或返回元素是否可见。 visibility属性允许显示或隐藏元素。它类似于display属性。但是,不同之处在于,如果设置display:none,它会隐藏整个元素,而visibility:hidden表示元素的内容将不可见,但元素保持原始位置和大小。