不占位
1.隐藏,div对象.style.display = “none”;
2.显示,div对象.style.display=”block”;
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div.divClass1{
width:200px;
height:200px;
background-color: #9ACD32;
}
div.divClass2{
width:200px;
height:200px;
background-color: yellow;
display:none;
}
</style>
<script type="text/javascript">
function getStyleObject (domObject) {
var styleObject = null;
if(domObject.currentStyle){ //IE
styleObject = domObject.currentStyle;
}else {
styleObject = window.getComputedStyle(domObject,null);
}
return styleObject;
}
function test () {
//让div2显示
var div2 = document.getElementById("div2");
var styleObject = getStyleObject(div2);
var btn1 = document.getElementById("btn1");
if(styleObject.display=="none"){//div2是隐藏的
//显示
div2.style.display="block";
//让按钮的文字变成隐藏
btn1.value="隐藏";
}else{
//隐藏
div2.style.display="none";
btn1.value="显示";
}
//隐藏
}
</script>
</head>
<body>
<input type="button" name="btn1" id="btn1" value="显示" onclick="test();"/>
<div class="divClass1">
默认显示的内容
</div>
<div id="div2" class="divClass2">
不太常用的内容
</div>
其他内容
</body>
</html>
点击时,第一次不能正常显示,需要点第二次,为什么?原因:内嵌样式设置了div的display:none,在js代码中无法获得内嵌样式display,期望得到none,却得到“”,所以出现问题。
解决:写一个获得display的函数获得内嵌央视的display对象,打印出none即获得。
占位
1.隐藏,div对象.style.visibility = “hidden”;
2.显示,div对象.style.visibility = “visible”;
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div.divClass1{
width:200px;
height:200px;
background-color: #9ACD32;
}
div.divClass2{
width:200px;
height:200px;
background-color: yellow;
visibility: hidden;
}
</style>
<script type="text/javascript">
function getStyleObject (domObject) {
var styleObject = null;
if(domObject.currentStyle){ //IE
styleObject = domObject.currentStyle;
}else {
styleObject = window.getComputedStyle(domObject,null);
}
return styleObject;
}
function test () {
//让div2显示
var div2 = document.getElementById("div2");
var styleObject = getStyleObject(div2);
var btn1 = document.getElementById("btn1");
if(styleObject.visibility=="hidden"){//div2是隐藏的
//显示
div2.style.visibility="visible";
//让按钮的文字变成隐藏
btn1.value="隐藏";
}else{
//隐藏
div2.style.visibility="hidden";
btn1.value="显示";
}
//隐藏
}
</script>
</head>
<body>
<input type="button" name="btn1" id="btn1" value="显示" onclick="test();"/>
<div class="divClass1">
默认显示的内容
</div>
<div id="div2" class="divClass2">
不太常用的内容
</div>
其他内容
</body>
</html>