|
---------------------------------------------------------------
例子:
復(fù)制代碼 代碼如下:
<script language="JavaScript">
function toggleVisibility(me){
if (me.style.visibility=="hidden"){
me.style.visibility="visible";
}
else {
me.style.visibility="hidden";
}
}
</script>
<div onclick="toggleVisibility(this)" style="position:relative">第一行文本將會(huì)觸發(fā)"hidden"和"visible"屬性,注意第二行的變化。</div>
<div>因?yàn)関isibility會(huì)保留元素的位置,所以雖然第一行看不見了但位置還在,第二行內(nèi)容不會(huì)上下移動(dòng)。</div>
解釋:注意到,當(dāng)元素被隱藏之后,就不能再接收到其它事件了,所以在第一段代碼中,當(dāng)其被設(shè)為"hidden"的時(shí)候,就不能再接收響應(yīng)到事件了,因此也就無法通過鼠標(biāo)點(diǎn)擊第一段文本令其顯示出來。
---------------------------------------------------------------
另一方面,display屬性就有一點(diǎn)不同了。visibility屬性是隱藏元素但保持元素的浮動(dòng)位置,而display實(shí)際上是設(shè)置元素的浮動(dòng)特征。
當(dāng)display被設(shè)置為block(塊)時(shí),容器中所有的元素將會(huì)被當(dāng)作一個(gè)單獨(dú)的塊,就像<div>元素一樣,它會(huì)在那個(gè)點(diǎn)被放入到頁(yè)面中。(實(shí)際上你可以設(shè)置<span>的display:block,使其可以像<div>一樣工作。
將display設(shè)置為inline,將使其行為和元素inline一樣---即使它是普通的塊元素如<div>,它也將會(huì)被組合成像<span>那樣的輸出流。
--------------------------------------------------------------
例子:
復(fù)制代碼 代碼如下:
<script language="JavaScript">
function toggleDisplay(me){
if (me.style.display=="block"){
me.style.display="inline";
alert("文本現(xiàn)在是:'inline'.");
}
else {
if (me.style.display=="inline"){
me.style.display="none";
alert("文本現(xiàn)在是:'none'. 3秒鐘后自動(dòng)重新顯示。");
window.setTimeout("blueText.style.display='block';",3000,"JavaScript");
}
else {
me.style.display="block";
alert("文本現(xiàn)在是:'block'.");
}
}
}
</script>
<div>在<span id="blueText" onclick="toggleDisplay(this)" style="color:blue;position:relative;cursor:hand;">藍(lán)色</span>文字上點(diǎn)擊來查看效果.</div>
---------------------------------------------------------------
最后是display被設(shè)置:none,這時(shí)元素實(shí)際上就從頁(yè)面中被移走,它下面所在的元素就會(huì)被自動(dòng)跟上填。(此時(shí)應(yīng)用display: none;的元素相當(dāng)于消失,而visibility: hidden;則只表示隱藏,位置還在。)
---------------------------------------------------------------
display 屬性分別為block, inline, none 值及使用visibility: hidden;的情況調(diào)試示例:
復(fù)制代碼 代碼如下:
<h1>display 屬性分別為block, inline, none 值及使用visibility: hidden;的情況調(diào)試</h1>
<P><SPAN id="oSpan" style="background-color: #CFCFCF;">This is a SPAN</SPAN> in a sentence.</P>
<P>
<input type=button value="Inline" onclick="oSpan.style.display='inline'">
<input type=button value="Block" onclick="oSpan.style.display='block'">
<input type=button value="None" onclick="oSpan.style.display='none'">
<input type=button value="Hidden" onclick="oSpan.style.visibility='hidden'"><input type=button value="Visible" onclick="oSpan.style.visibility='visible'">
</P>
<UL>
<LI>將元素設(shè)為 block,會(huì)在該元素后換行。</LI>
<LI>將元素設(shè)為 inline,會(huì)消除元素?fù)Q行。</LI>
<LI>將元素設(shè)為 none,隱藏該元素內(nèi)容。</LI>
</UL>
《太難了》:
同時(shí),關(guān)于display:inline;和float:left;兩者的區(qū)別可以參看該篇文章:
(display是指顯示狀態(tài),inline表示內(nèi)聯(lián),特點(diǎn)是緊貼著前一個(gè)內(nèi)聯(lián)元素,通常默認(rèn)的內(nèi)聯(lián)元素有span,a,em,strong等。而float表示的是浮動(dòng),float:left,是針對(duì)塊級(jí)元素的浮動(dòng)形式,是不同形式的兩種狀態(tài)。)http://www.andymao.com/andy/post/42.html
http://bbs.blueidea.com/thread-2596793-1-1.html
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>float &inline</title>
<style>
*{text-align:center;padding:4px;}
div,p{text-align:left;}
span{/*float:right;*/ background:#f5f5f5;border-left:1px #eee solid;border-top:1px #eee solid;border-right:1px #ccc solid;border-bottom:1px #ccc solid;}
ul#inline li{ display:inline; list-style:none;border-left:1px #ccc solid;width:300px; background:#f5f5f5;/* float:left*/;}
ul#float li{ float:left;display:inline; list-style:none;border-left:1px #666 solid;width:300px; background:#f5f5f5; }
</style>
</head>
<body>
<span style="width:300px;">span為內(nèi)聯(lián)/inline元素,給他寬度賦值是沒有效果的。</span>
<span style="width:100px; float:right;">span為內(nèi)聯(lián)/inline元素,給他寬度賦值100px+float:right;可以看到有了寬度。</span>
<div>
<p>這個(gè)li被定義為內(nèi)聯(lián)/inline,設(shè)置寬度沒有效果</p>
<ul id="inline">
<li>test</li>
<li>test</li>
</ul>
</div>
<div>
<p>這個(gè)li被定義為內(nèi)聯(lián)/inline+float:left,設(shè)置寬度有效果</p>
<ul id="float">
<li>test</li>
<li>test</li>
</ul>
</div>
</body>
</html>
JavaScript技術(shù):JAVASCRIPT style 中visibility和display之間的區(qū)別,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。