1. 程式人生 > >javascript基礎部分(四)DOM和內建物件

javascript基礎部分(四)DOM和內建物件

Javascript基礎部分(四)DOM物件和內建物件

4.1與使用者互動

window物件的方法中,有一些事專門用於處理輸入與輸出資訊的,從而實現頁面與使用者的互動。

(1)、alert()

alert()向用戶彈出一個資訊對話方塊,這種模態的對話方塊只是顯示一些訊息和一個“確定”按鈕。模態:意味著指令碼暫時停止執行,頁面與使用者的互動也被暫時停止,直到使用者關閉對話方塊為止。alert()方法示例:
alert(“this is my message”);

lert()沒有返回值。

(2)、confirm()

confirm()也彈出一個模態對話方塊,但為使用者提供了一個選擇,可以單擊“確定”或者“”“取消”按鈕。單擊確定按鈕函式返回值為真,單擊取消按鈕函式返回值為假。

呼叫: var answer = confirm(“are you happy to continue?”);

(3)、promt()

A)promt()是開啟模態對話方塊的另一種方式,它允許使用者輸入資訊。呼叫方式:

var answer = promt(“what is your full name”)

B)promt()方法還可以有第二個可選引數,表示預設的輸入內容,從而避免使用者直接點選“確定”按鈕而不輸入任何內容。呼叫方式:

var answer = promt(“what is your full name?”,“john doe”);

C)promt()對話方塊的返回值取決於使用者進行了什麼操作。

(1)、輸入資訊,點選“確定”按鈕或回車鍵,返回值就是使用者輸入的字串。

(2)、沒有在對話方塊裡輸入,就點選“確定”按鈕或回車鍵,返回值就是呼叫promt()方法設定的第二個可選引數的值。(如果有的話)

(3)如果使用者直接關閉了對話方塊(也就是點選“取消”按鈕或按ESC鍵),返回值就是null;

4.2根據id選擇元素

A)getElementById();

例:<div id = “div1”>

.....DIV元素的內容....

</div>

javascript程式碼裡,把相應的id作為引數呼叫getElementById()方法,就可以訪問這個<div>

元素。

var myDiv = document.getElementById(“div1”);

這樣就得到了頁面的特定的元素,能夠訪問它的全部屬性和方法。

B)innerHTML屬性

innerHTML屬性對於很多DOM物件來說都是一個很好用的屬性,可以讀取或設定特定頁面元素內部的HTML內容。

假設HTML頁面包含如下元素:

<div if = “ div1”>

<p>here is some original text.</p>

</div>

(1)利用getElementById()innerHTML()的組合就可以訪問這個<div>元素裡的HTML內容

var myDivContents = document.getElementById(“div1”).innerHTML   

這樣變數myDivContents現在會包含如下字串:

“<p>here is some original text.</p>”

(2)、還可以利用innerHTML設定選定元素的內容

document.getElementById(“div1”).innerHTML = “<p>here is some new instead!</p>”;

4.3訪問瀏覽器歷史記錄

Javascript裡,瀏覽器的歷史記錄是以window.history物件代表的,它基本上就是訪問過的URL列表。可通過這個方法使用這個列表,但是不能直接的修改這些URL

History擁有三個方法和一個屬性:屬性是length,表示使用者訪問過的頁面的數量。

(1)、forward)方法和backward()方法相當於點選瀏覽器的“前進”和“後退”按鈕,可以得到歷史列表裡下一個或前一個頁面。

(2)第三個方法是go(),它只有一個引數,是正的或負的整數,可以跳到歷史記錄列表裡的相對位置:

history.go(-3);    //回退三個頁面

history.go(2); //前進兩個頁面。

4.4使用location物件

Location物件包含當前載入頁面的URL資訊。

(1)、使用location物件導航

利用location物件有兩種方式可以幫助使用者導航至新頁面。


a)、直接設定物件的href屬性。

location.href  = ‘www.newpage.com’; //這種方法轉移頁面後,原始頁面還在瀏覽器記錄裡面。

B)、用新的URL直接替換當前頁面,即把當前頁面從歷史記錄列表裡刪除,可以使用location物件的replace()方法。

location.replace(‘www.newpage.con’);

(2)、重新整理頁面

要在瀏覽器裡重新載入當前頁面,也就是相當於使用者點選“重新整理”按鈕,我們可以使用reload()方法:

location.reload();

4.5瀏覽器資訊navigator物件

Location物件包含了瀏覽器當前URL的資訊,而navigator物件包含了瀏覽器程式本身的資料。

4.6日期和時間

Date物件用於處理日期和時間。與前面的物件不同的是,DOM裡並沒有現成的Date物件,而是要我們自己在需要時建立自己的Date物件。每個Date物件都代表不同的日期和時間。

4.7利用Math物件簡化運算

Math物件不需要建立就可以使用,它是已經存在的,直接呼叫它就可以使用了。

注:關鍵字with,通過使用with可以減少一些枯燥的鍵盤輸入工作。

例:withMath

{

var myrand = random();

var biggest = max(3,4,5);

}

在這個例子裡我們只使用方法的名稱就呼叫了Math.randomMath.max()方法,因為呼叫這些方法的程式碼塊與Math物件實現了關聯。