请解释代码样式可见性的含义

时间:2014-03-07 10:26:02

标签: javascript html

美好的一天!我可以请问下面的代码是什么意思,特别是关于(dialog.style.visibility ==“visible”)的部分? “隐藏”:“可见”;

dialog = document.getElementById("divName");
dialog.style.visibility = (dialog.style.visibility == "visible") ? "hidden" : "visible";

4 个答案:

答案 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)

CSS可见性

我对这种风格的理解是,你可以隐藏某些东西,但如果它被显示,它仍会占用它本来会占用的空间。

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表示元素的内容将不可见,但元素保持原始位置和大小。