close

按此前往javascript完整教學目錄

 

 

window物件的成員函式:

1. alert(變數或值):顯示一個警告視窗,視窗內容為指定的變數或值。如:

<input  type="button" value="按我" onclick="alert('歡迎光臨!');"/>

// 執行,並且按下按鈕後顯示:

image

 

也可以將視窗內容寫為與表單變數有關,如:

<input  type="text" id="tt" />

<input  type="button" value="按我" onclick="alert(document.getElementById('tt').value+'您好,歡迎光臨!');"/>

// 執行後,輸入變數至表單,如:

image

按下按鈕後,顯示:

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='';};

"

/>

// 執行後,按下按鈕、顯示對話框,接著按下「確定」,即顯示:

image

若在對話框按下「取消」,即顯示:

image

註:本例中,即使使用者按下對話框右上角的「X」,效果也會如同按下「取消」。

 

3. prompt(變數或值):顯示一個文字輸入框,框中的提示為指定的變數或值。此對話框有兩個選項按鈕:「確定」以及「取消」。當使用者按下「確定」後,回傳值為使用者輸入的文字。當使用者按下「取消」後,回傳null。如:

<input type="text" id="tt" size="30"/>

<input  type="button" value="按我"

onclick="document.getElementById('tt').value='天增歲月人增壽,'+prompt('天增歲月人增壽,請對下聯:')"

/>

// 執行後,按下按鈕,輸入文字,如:

image

按下「確定」後,顯示:

image

 

 

4. open([“URL位址”] [,”名稱”] [,”選項”]):此函式可以開啟彈跳視窗。其寫法不能省略父物件window,否則瀏覽器會無法分辨「到底是哪個視窗要執行此成員函式」、或者是「到底要呼叫哪個視窗的成員」。各參數介紹如下:

(1) URL位址:為彈跳視窗的URL位址。若不設定URL位址,則彈跳視窗為空白視窗。

(2) 名稱:此參數決定「到底哪個視窗轉變為彈跳視窗」。此參數的值,說明如下:

_blank:表示開啟新的視窗作為彈跳視窗。這是預設值。

_parent:表示以當前視窗的父視窗作為彈跳視窗。

_slef:表示以當前視窗作為彈跳視窗。

_top:表示以當前視窗架構的始祖視窗作為彈跳視窗。

視窗名稱:若某視窗有使用window.name此成員來設定視窗名稱,則可使用該視窗的視窗名稱來呼叫該視窗(請參閱三-9)

(3) 選項此參數決定彈跳視窗的樣式。在此,必須先說明一個視窗中,各項基本子結構的名稱。以下是一個標準視窗:

image

接著說明選項參數的寫法。這個參數有許多的子參數,其中有些子參數可以決定彈跳視窗是否具有某項特性,若其值為yes1則是,若其值為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>

執行後,按下「打開」,顯示:

image

按下「關閉」,顯示:

image

 

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>    <!-- 表頭區的結束->

//執行後顯示:image

//按下按鈕後所顯示的是: image

//經過30秒後所顯示的是: image

如此便做成了即時計時器。

註一:若程式碼寫成:

<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個像素的距離。ab為整數。座標圖如下:

image

程式碼例如:

<input type="button" value="按我" onclick="moveBy(200,200);"/>

執行後,若是按下按鈕,則整個視窗往右移200px,往下移200px

12. moveTo(a,b):此函式以視窗的最左上角為參考點,將視窗移至參考點之X座標=aY座標=b之處。ab為整數。

13. resizeBy(a,b):此函式可以使視窗在X軸方向增加a個像素的寬度、在Y軸方向增加b個像素的長度。ab為整數。

14. resizeTo(a,b):此函式可以設定視窗尺寸,設定其在X軸方向的寬度為a個像素、在Y軸方向的長度為b個像素。ab為整數。

15. scrollBy(a,b):此函式可以將捲軸往X軸方向移動a個像素、往Y軸方向移動b個像素。ab為整數。

16. scrollTo(a,b):此函式可以將捲軸移到視窗內X座標=aY座標=b之處。ab為整數。

 

 

 

上一篇:window 物件 介紹

下一篇:window物件的成員

arrow
arrow
    創作者介紹
    創作者 埃伯 的頭像
    埃伯

    程式語言教學

    埃伯 發表在 痞客邦 留言(0) 人氣()