JavaScript實(shí)際應(yīng)用:innerHTMl和確認(rèn)提示的使用

  今天開(kāi)發(fā)中涉及到對(duì)一個(gè)層的信息控制,就是控制一個(gè)層中顯示什么信息,查找資料才知道使用innerHTML屬性來(lái)控制層的值,這個(gè)innerHTML跟表單里面的value屬性有點(diǎn)類(lèi)似,能夠控制層的顯示值。

  比如說(shuō)我一個(gè)div層里本來(lái)沒(méi)有值,我處罰一個(gè)事件后要顯示值,那么就能夠使用innerHTML屬性了,其實(shí)innerHTML屬性除了能控制層以外,還能控制窗口內(nèi)容的所有元素,但是我沒(méi)有測(cè)試過(guò)。

(1)對(duì)div標(biāo)簽的控制

div標(biāo)簽跟span標(biāo)簽是不一樣的,div是一個(gè)層的塊,span是一行,我們下面看演示就知道區(qū)別了。先來(lái)看一段控制div的代碼。

程序代碼 程序代碼
<script language="javascript">
function chageDiv(number)
{
if (number == 1) {
document.getElementById("div1").innerHTML = "值為1";
}
if (number == 2) {
document.getElementById("div1").innerHTML = "值為2";
}
}
</script>

DIV塊測(cè)試:<div id="div1">默認(rèn)值</div>

<a href="#" onClick="chageDiv(1)">改變值為1</a>
<a href="#" onClick="chageDiv(2)">改變值為2</a>


演示:
HTML代碼


[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]


  運(yùn)行的時(shí)候,點(diǎn)擊“改變值為1”那么“默認(rèn)值”這個(gè)內(nèi)容將會(huì)被改變?yōu)椤爸禐?”,但是注意其中的界面,就是會(huì)發(fā)現(xiàn)“DIV測(cè)試:”和“默認(rèn)值”是兩行顯示的,因?yàn)镈IV是按塊來(lái)顯示的。

(2)對(duì)span的控制

與div類(lèi)似,但是它是按照行來(lái)顯示的,看下面的代碼:
程序代碼 程序代碼
<script language="javascript">
function chageSpan(number)
{
if (number == 1) {
document.getElementById("span1").innerHTML = "值為1";
}
if (number == 2) {
document.getElementById("span1").innerHTML = "值為2";
}
}
</script>
Span行測(cè)試:
<span id="span1">默認(rèn)值</span><br>
<a href="#" onClick="chageSpan(1)">改變值為1</a>
<a href="#" onClick="chageSpan(2)">改變值為2</a>


當(dāng)點(diǎn)擊“改變值為1”的時(shí)候,“默認(rèn)值”將變?yōu)椤爸禐?”,但是“Span行測(cè)試”和“默認(rèn)值”是在同一行顯示的,跟DIV不一樣。

另外一個(gè)值得注意的就是,不管是div還是span,后面的名字都是以為id來(lái)定義的,不是象表單一樣是使用name來(lái)定義的。

(3)confirm確認(rèn)提示框的制作

當(dāng)我們要執(zhí)行一個(gè)危險(xiǎn)操作的時(shí)候,比如刪除某個(gè)內(nèi)容等,那么就應(yīng)該給用戶(hù)相應(yīng)的提示來(lái)用戶(hù)不容易犯錯(cuò)誤。一般提示都是使用confirm()函數(shù)來(lái)處理的,給它提交一個(gè)參數(shù)作為顯示的信息提示,那么訪問(wèn)的時(shí)候?qū)棾鰧?duì)話框,如果點(diǎn)擊了“確定”那么將改函數(shù)返回true,點(diǎn)擊了“取消”將放回false,我們針對(duì)這個(gè)特點(diǎn)來(lái)使用兩種方法來(lái)控制用戶(hù)是否執(zhí)行某個(gè)操作。

看代碼:

程序代碼 程序代碼
<script language="javascript">
function accessNeteasy()
{
if(confirm('你真的要訪問(wèn)網(wǎng)易新聞 ?')) {
location='http://calendar.eyou.eyou';
}
}
function accessSina()
{
if (confirm('你確定要訪問(wèn)新浪新聞 ?')) {
return true;
} else {
return false;
}
}
</script>

訪問(wèn)方式一:
<a href="#" onClick="accessNeteasy()">網(wǎng)易新聞</a><br>
訪問(wèn)方式二:
<a href="http://news.sina.com.cn" onClick="return accessSina()">新浪新聞</a>


  我們這里建立了兩個(gè)函數(shù),一個(gè)accessNeteay,一個(gè)accessSina,就是訪問(wèn)網(wǎng)易和新浪,我們使用不同的方法,第一種就是當(dāng)點(diǎn)了鏈接以后,判斷如果是true的話,那么就location到指定鏈接,這種方法比較不具有通用型,只能針對(duì)單個(gè)的鏈接。第二種方法是使用返回值的形式,當(dāng)確定要訪問(wèn)的時(shí)候返回true,不確定的時(shí)候返回false,那么這個(gè)可以針對(duì)任何鏈接來(lái)做,寫(xiě)成一個(gè)通用的信息提示,方便頁(yè)面中的調(diào)用。

以上代碼都經(jīng)過(guò)測(cè)試通過(guò),可以自己再這個(gè)基礎(chǔ)上進(jìn)行擴(kuò)展,寫(xiě)出自己需要的JavaScript代碼。
更多小技巧建議參考藍(lán)色理想的鏈接:http://www.blueidea.com/tech/web/2004/2379.asp