按此前往javascript完整教學目錄
window物件的成員函式:
1. alert(變數或值):顯示一個警告視窗,視窗內容為指定的變數或值。如:
<input type="button" value="按我" onclick="alert('歡迎光臨!');"/>
// 執行,並且按下按鈕後顯示:
也可以將視窗內容寫為與表單變數有關,如:
<input type="text" id="tt" />
<input type="button" value="按我" onclick="alert(document.getElementById('tt').value+'您好,歡迎光臨!');"/>
// 執行後,輸入變數至表單,如:
按下按鈕後,顯示:
2. confirm(變數或值):顯示一個確認對話框,對話框內容為指定的變數或值。此對話框有兩個選項按鈕:「確定」以及「取消」。當使用者按下「確定」後,此函式回傳true,若使用者按下「取消」,此函式回傳false。如:
您的性別:<input type="text" id="tt" />
<input type="button" value="按我" onclick="
if(confirm('請問您是男生嗎?'))
{document.getElementById('tt').value='男';}
else{document.getElementById('tt').value='女';};
"
/>
// 執行後,按下按鈕、顯示對話框,接著按下「確定」,即顯示:
若在對話框按下「取消」,即顯示:
註:本例中,即使使用者按下對話框右上角的「X」,效果也會如同按下「取消」。
3. prompt(變數或值):顯示一個文字輸入框,框中的提示為指定的變數或值。此對話框有兩個選項按鈕:「確定」以及「取消」。當使用者按下「確定」後,回傳值為使用者輸入的文字。當使用者按下「取消」後,回傳null。如:
<input type="text" id="tt" size="30"/>
<input type="button" value="按我"
onclick="document.getElementById('tt').value='天增歲月人增壽,'+prompt('天增歲月人增壽,請對下聯:')"
/>
// 執行後,按下按鈕,輸入文字,如:
按下「確定」後,顯示:
4. open([“URL位址”] [,”名稱”] [,”選項”]):此函式可以開啟彈跳視窗。其寫法不能省略父物件window,否則瀏覽器會無法分辨「到底是哪個視窗要執行此成員函式」、或者是「到底要呼叫哪個視窗的成員」。各參數介紹如下:
(1) URL位址:為彈跳視窗的URL位址。若不設定URL位址,則彈跳視窗為空白視窗。
(2) 名稱:此參數決定「到底哪個視窗轉變為彈跳視窗」。此參數的值,說明如下:
※ _blank:表示開啟新的視窗作為彈跳視窗。這是預設值。
※ _parent:表示以當前視窗的父視窗作為彈跳視窗。
※ _slef:表示以當前視窗作為彈跳視窗。
※ _top:表示以當前視窗架構的始祖視窗作為彈跳視窗。
※ 視窗名稱:若某視窗有使用window.name此成員來設定視窗名稱,則可使用該視窗的視窗名稱來呼叫該視窗(請參閱三-9)。
(3) 選項:此參數決定彈跳視窗的樣式。在此,必須先說明一個視窗中,各項基本子結構的名稱。以下是一個標準視窗:
接著說明選項參數的寫法。這個參數有許多的子參數,其中有些子參數可以決定彈跳視窗是否具有某項特性,若其值為yes或1則是,若其值為no或者0則否,稱這些參數為「特性參數」。如:
※ location:決定彈跳視窗否顯示網址列。寫法例如:
<input type="button" value="按我" onclick="window.open('test1.php','_blank','location=1')">
※ titlebar:決定彈跳視窗是否顯示標題列。
※ menubar:決定彈跳視窗是否顯示主選單。
※ toolbar:決定彈跳視窗是否顯示工具列。
※ status:決定彈跳視窗是否顯示狀態列。
※ scrollbars:決定彈跳視窗是否顯示捲軸。
※ resizable:決定彈跳視窗是否可以由使用者調整大小。
另外,有些子參數可以設定彈跳視窗的長寬及位置,稱這些參數為「座標參數」。如:
※ width:設定彈跳視窗的橫向寬度。其值為數值,單位為像素。如:
window.open('test1.php','_blank','width=800');
※ hieght:設定彈跳視窗的直向高度。其值為數值,單位為像素。
※ top:設定彈跳視窗的Y座標值。其值為數值,單位為像素。
※ left:設定彈跳視窗的X座標值。其值為數值,單位為像素。
(重要!!):極需注意的是,選項參數若沒有設定,則特性參數一律預設為yes。但若選項參數有被設定(無論是設定特性參數還是座標參數),則「沒有被設定到的特性參數」一律預設為no!如:
window.open('test1.php','_blank','location=1');
則彈跳視窗上,除了網址列外,標題列、主選單…等等都不見了,而且也不能由使用者調整尺寸大小!
5. close():關閉當前視窗。其寫法不能省略父物件window。利用close()還可以關閉當前視窗的父視窗或者子視窗。如:
<body>
<script type="text/javascript">var tt</script>
<input type="button" value="打開" onclick="tt =window.open('test1.php','_blank')">
<input type="button" value="關閉" onclick="tt.close()">
</body>
執行後,按下「打開」,顯示:
按下「關閉」,顯示:
6. setInterval(“程式碼或函式” , 時間間隔 [,程式語言種類])與clearInterval(setInterval物件):setInterval()函式每經過一次時間間隔(單位為毫秒),就執行一次程式碼或函式。程式語言種類可寫可不寫,若不寫,預設值是JavaScript。例如:
<head> <!-- 表頭區的開始-->
<script type="text/javascript">
function timing(){
var now=new Date();
document.getElementById('tt').value=now.toLocaleString();
}
</script>
</head> <!-- 表頭區的結束-->
<body> <!-- 主體區的開始-->
<input type="button" id="tt" value="按我" onclick="setInterval('timing()',1*1000);"/> <!-- 這行使用了setInterval()函式-->
</body> <!-- 表頭區的結束->
//執行後顯示:
//按下按鈕後所顯示的是:
//經過30秒後所顯示的是:
如此便做成了即時計時器。
註一:若程式碼寫成:
<head> <!-- 表頭區的開始-->
<script type="text/javascript">
function timing(){
var now=new Date();
document.write(now.toLocaleString()); <!-- 這裡改成用document.write()輸出 -->
}
</script>
</head> <!-- 表頭區的結束-->
<body> <!-- 主體區的開始-->
<input type="button" id="tt" value="按我" onclick="setInterval('timing()',1*1000);"/>
</body> <!-- 表頭區的結束->
註二:若setInterval()函式中的第一個參數是函式、且有傳遞參數、而參數又是以變數形態寫入,亦可。例如:
<body>
<input type="button" id="tt" value="按我"/><script type="text/javascript">
var x="現在時間:";
function timing(s){
var now=new Date();
document.getElementById("tt").value=s+now.toLocaleString();
}
setInterval('timing(x)',1*1000);
</script>
</body>
※ 若想要停止程式碼或函式的重複執行,就必須在setInterval()函式建立時,將其回傳的物件給儲存成變數(稱為「setInterval物件」),並且利用clearInterval(setInterval物件名稱); 來終止該setInterval物件的重複執行。如:
<body>
<input type="button" id="tt" value="按我" onclick="clearInterval(repeat)"/> <!-- 這行使用了clearInterval ()函式-->
<script type="text/javascript">
function timing(){
var now=new Date();
document.getElementById("tt").value=now.toLocaleString();
}
var repeat=setInterval('timing()',1*1000); <!-- 這行使用了setInterval()函式-->
</script>
</body>
//執行後,計時器自動運轉,在按下按鈕後,計時器便中止了。
7. setTimeout(“程式碼或函式” ,時間 [,程式語言種類])與clearTimeout (setTimeout物件):setTimeout ()函式一被呼叫,在經過時間(單位為毫秒)之後,便會執行程式碼或函式。程式語言種類可寫可不寫,若不寫,預設值是JavaScript。例如:
setTimeout("document.write('test')",5*1000);
//執行後5秒,即顯示test
※ 若在經過時間之前,因故想要停止程式碼或函式的執行,就必須在setTimeout ()函式建立時,將其回傳的物件給儲存成變數(稱為「setTimeout物件」),並且利用clearTimeout (setTimeout物件); 來終止該setTimeout物件的到期執行。如:
<head> <!-- 表頭區的開始-->
<script type="text/javascript">
var exe=setTimeout("document.write('test')",5*1000);
</script>
</head> <!-- 表頭區的結束-->
<body> <!--主體區的開始-->
<input type="button" value="中斷" onclick="clearTimeout(exe);" />
</body> <!-- 主體區的結束-->
8. print():啟動印表機,並且準備將當前頁面的文件檔給列印。註:若當前頁面包含嵌入式框架(iframe),則一般來說,嵌入式框架中的內容不會被付諸列印。
9. focus():指定某視窗成為前景視窗,並觸發該視窗的onFocus事件。通常伴隨著彈跳視窗的建立,使彈跳視窗成為前景視窗所用。不能省略其父物件。如:
<input type="button" value="按我" onclick="
var newwin=window.open('test1.php','blank_');
newwin.focus();" />
10. blur():此函式指定某視窗成為後景視窗,並觸發該視窗的onBlur事件。不能省略其父物件。如:
<input type="button" value="按我" onclick="
var newwin=window.open('test1.php','blank_');
newwin.blur();" />
11. moveBy(a,b):此函式可以使視窗在X軸方向移動a個像素的距離、在Y軸方向移動b個像素的距離。a、b為整數。座標圖如下:
程式碼例如:
<input type="button" value="按我" onclick="moveBy(200,200);"/>
執行後,若是按下按鈕,則整個視窗往右移200px,往下移200px。
12. moveTo(a,b):此函式以視窗的最左上角為參考點,將視窗移至參考點之X座標=a、Y座標=b之處。a、b為整數。
13. resizeBy(a,b):此函式可以使視窗在X軸方向增加a個像素的寬度、在Y軸方向增加b個像素的長度。a、b為整數。
14. resizeTo(a,b):此函式可以設定視窗尺寸,設定其在X軸方向的寬度為a個像素、在Y軸方向的長度為b個像素。a、b為整數。
15. scrollBy(a,b):此函式可以將捲軸往X軸方向移動a個像素、往Y軸方向移動b個像素。a、b為整數。
16. scrollTo(a,b):此函式可以將捲軸移到視窗內X座標=a、Y座標=b之處。a、b為整數。
上一篇:window 物件 介紹
下一篇:window物件的成員