1. 程式人生 > >javaScript 操作BOM對象

javaScript 操作BOM對象

組織 href 系統時間 else語句 art 影響 mar 數學 系列

1)windows對象

瀏覽器對象模型(BOM :Browser Object Model)是JavaScript的組成之一,它提供了獨立於內容與瀏覽

器窗口進行交互的對象,使用瀏覽器對象模型可以實現與HTML的交互。它的作用是將相關的元素組織包裝起來,

提供給程序設計人員使用,從而降低開發人員的勞動量,提高設計Web頁面的能力。BOM是一個分層結構

技術分享圖片

1-1)使用BOM通常可實現如下功能:

1.彈出新的瀏覽器窗口

2.移動、關閉瀏覽器窗口及調整窗口大小

3.在瀏覽器窗口中實現頁面的前進、後退功能

1-2)windows對象的常用屬性

1.history 有關客戶訪問過的URL的信息

2.location 有關當前URL的信息

3.screen 只讀屬性,包含有關客戶端顯示屏的信息

在Javascript中,屬性的語法格式如下:

window.屬性名=“屬性值”

例:

window.location="http://www.bdqn.cn",表示頁面跳轉

screen.heigth 返回顯示瀏覽器的屏幕的高度,單位為像素

1-3)windows對象的常用方法

1. prompt() 顯示可提示用戶輸入的對話框

2. alert() 顯示一個帶有提示信息和一個“確定”按鈕的警示對話框

3. confirm() 顯示一個帶有提示信息、“確定”和“取消”按鈕的對話框

4. close() 關閉瀏覽器窗口

5. open() 打開一個新的瀏覽器窗口,加載給定URL所指定的文檔

6.setTimeout() 在指定的毫秒數後調用函數或計算表達式

7. setInterval() 按照指定的周期(以毫秒計)來調用函數或表達式

語法:

window.方法名();

window對象是全局對象,所以在使用window對象的屬性和方法時,window可以省略

例如:之前直接使用的alert(),相當於寫成window.alert();

1-4)方法的使用

1.confirm() 將彈出一個確認對話框

語法:

window.confirm("確認要刪除此條信息嗎");

在confirm()對話框中,有確認和取消按鈕。當用戶單機確認是,則返回 true 反之 false

代碼實例:

var flag=confirm("確認刪除此條信息嗎");

if(flag)
{
alert("刪除成功");
}else
{
alert("你取消了刪除");

}

2.close()

close()方法用於關閉瀏覽器窗口,語法:window.close();

3.open();

在頁面上彈出一個新的瀏覽器窗口,彈出窗口的語法格式如下:

window.open(“彈出窗口的url”, “窗口名稱”,“窗口特征”);

窗口的特征屬性:

技術分享圖片


1-5)prompt()、alert()、confirm()不同之處

alert() 只有一個參數,僅顯示警告對話框的消息,無返回值,不能對腳本產生任何影響

prompt() 有兩個參數,是輸入對話框,用來提示用戶輸入一些信息,單擊取消按鈕則返回null
,單擊 確定 按鈕則返回用戶輸入的值,常用於收集用戶關於特定問題而反饋信息

confirm() 只有一個參數,是確認對話框,顯示提示對話框的信息。 確認 按鈕和取消按鈕
單擊確定返回true 單擊取消返回 false,因此與if--else語句搭配使用

2)history對象 和 location對象

history對象常用方法:

back() 加載history對象列表中的前一個URL

forward() 加載history 對象列表中的下一個URL

go() 加載history 對象列表中的某個具體URL

history.back()=== history.go(-1) 瀏覽器中的 後退

history.forward() ===history.go ( 1 ) 瀏覽器中的 前進

location 對象常用方法及屬性:

host : 設置或返回主機名和當前URL的端口號

hostname : 設置或返回當前URL的主機名

href: 設置或返回完整的URL

reload() 重新加載當前文檔

reolace() 用新的文檔替換當前文檔

技術分享圖片

技術分享圖片

3)document對象

document常用屬性:

referrer:返回載入當前文檔的URL

URL:返回當前文檔的URL

document對象的常用方法:

getElementById() 返回對擁有指定id的第一個對象的引用

getElementByName() 返回帶有指定名稱的對象的集合

getElementsByTagName() 返回帶有指定標簽名的對象的集合

write() 向文檔寫文本、HTML表達式或JavaScript代碼

語法:

document.referrer document.URL

代碼栗子:

[javascript] view plain copy
  1. <body>
  2. <div>
  3. <div id="book">舒明明</div>
  4. <input name="sea" type="text" value="春"/>
  5. <input name="sea" type="text" value="夏"/>
  6. <input name="sea" type="text" value="秋"/>
  7. <input name="sea" type="text" value="冬"/>
  8. <input name="btn" type="button" value="修改名稱" onclick="changbook()">
  9. <input name="b2" type="button" value="input內容" onclick="inputnei()"/>
  10. <input name="b3" type="button" value="司機內容" onclick="getElementByname()"/>
  11. <input name="b4" type="button" value="清空頁面內容" onclick="cler()"/>
  12. <p id="per"></p>
  13. </div>
  14. <script>
  15. function changbook()
  16. { //更改指定id名稱
  17. document.getElementById("book").innerHTML="替換文本";
  18. }
  19. function inputnei()
  20. {//獲取所有 input標簽的值
  21. var stu=document.getElementsByTagName("input");
  22. var str="";
  23. for(var i=0;i<stu.length;i++)
  24. {
  25. str+=stu[i].value+" ";
  26. }
  27. document.getElementById("per").innerHTML=str;
  28. }
  29. function getElementByname()
  30. {//獲取指定所有 name 名稱的值
  31. var stu=document.getElementsByName("sea");
  32. var ss="";
  33. for(var i=0;i<stu.length;i++)
  34. {
  35. ss+=stu[i].value+" ";
  36. }
  37. document.getElementById("per").innerHTML=ss;
  38. }
  39. function cler()
  40. {
  41. document.write("");
  42. }
  43. </script>
  44. </body>

4)JavaScript 內置對象

1.Array : 用於在單獨的變量名中存儲一系列的值

2.String : 用於支持對字符串的處理

3.Math :用於執行常用的數學任務,它包含了若幹個數字常量和函數

4.Date :用於操作日期和時間

1)Date對象獲取日期:

語法:var 日期對象 = new Date(參數);參數格式:MM DD,YYYY ,hh:mm:ss

代碼栗子:

[javascript] view plain copy
  1. var time=new Date();
  2. document.write(time+"<br/>");
  3. var time1=new Date("september 1,2017,15:00:00");
  4. document.write(time1);

運行結果:

技術分享圖片

常用方法:

技術分享圖片

制作時鐘代碼:

[javascript] view plain copy
  1. <body>
  2. <div id="times"></div>
  3. <script>
  4. function time() {
  5. var time = new Date();//獲取系統時間
  6. var hh = time.getHours();//獲取系統小時
  7. var mm = time.getMinutes();//獲取系統分鐘
  8. var ss = time.getSeconds();//獲取系統秒數
  9. document.getElementById("times").innerHTML="當前時間為:"+hh+":"+mm+":"+ss;
  10. }
  11. time();
  12. </script>
  13. </body>

運行結果:

技術分享圖片

5)Math對象

常用方法:

技術分享圖片

如何實現返回的整數範圍為2~99?

栗子:var iNum=Math.floor(Math.random()*98+2);

6 )定時函數

第一種方式:

setTimeout()

語法:setTimeout("調用的函數",等待的毫秒數);

[javascript] view plain copy
  1. <body>
  2. <div id="times"></div>
  3. <script>
  4. function time() {
  5. var time = new Date();//獲取系統時間
  6. var hh = time.getHours();//獲取系統小時
  7. var mm = time.getMinutes();//獲取系統分鐘
  8. var ss = time.getSeconds();//獲取系統秒數
  9. document.getElementById("times").innerHTML="當前時間為:"+hh+":"+mm+":"+ss;
  10. varsetTimeout("time()",1000);
  11. }
  12. time();
  13. </script>
  14. </body>

第二種方式:

setInterval()

語法:setInterval("調用的函數",間隔的毫秒數);

[javascript] view plain copy
  1. <div id="times"></div>
  2. function time1() {
  3. var time = new Date();//獲取系統時間
  4. var hh = time.getHours();//獲取系統小時
  5. var mm = time.getMinutes();//獲取系統分鐘
  6. var ss = time.getSeconds();//獲取系統秒數
  7. document.getElementById("times").innerHTML = "當前時間為:" + hh + ":" + mm + ":" + ss;
  8. }
[javascript] view plain copy
  1. var text1=setInterval("time1()",1000);

6-1)清楚函數

clearTimeout( setTimeOut() 返回的ID值 );

clearInterval(setInterval() 返回的ID值);

技術分享圖片

技術分享圖片

栗子一:

[javascript] view plain copy
  1. <body>
  2. <div id="times"></div>
  3. <input name="btn" type="button" value="開始時間" onclick="start()">
  4. <input name="btn" type="button" value="停止時間" onclick="stop()">
  5. <script>
  6. var Times;
  7. function time() {
  8. var time = new Date();//獲取系統時間
  9. var hh = time.getHours();//獲取系統小時
  10. var mm = time.getMinutes();//獲取系統分鐘
  11. var ss = time.getSeconds();//獲取系統秒數
  12. document.getElementById("times").innerHTML = "當前時間為:" + hh + ":" + mm + ":" + ss;
  13. Times=setTimeout("time()", 1000);
  14. }
  15. time();
  16. function stop()
  17. {
  18. clearTimeout(Times);
  19. //clearInterval(times);
  20. }
  21. function start()
  22. {
  23. time();
  24. // time1();
  25. }
  26. </script>
  27. </body>

栗子二:

[javascript] view plain copy
    1. <body>
    2. <div id="times"></div>
    3. <input name="btn" type="button" value="開始時間" onclick="start()">
    4. <input name="btn" type="button" value="停止時間" onclick="stop()">
    5. <script>
    6. function stop()
    7. {
    8. //clearTimeout(Times);
    9. clearInterval(times);
    10. }
    11. function start()
    12. {
    13. //time();
    14. time1();
    15. }
    16. function time1() {
    17. var time = new Date();//獲取系統時間
    18. var hh = time.getHours();//獲取系統小時
    19. var mm = time.getMinutes();//獲取系統分鐘
    20. var ss = time.getSeconds();//獲取系統秒數
    21. document.getElementById("times").innerHTML = "當前時間為:" + hh + ":" + mm + ":" + ss;
    22. }
    23. var times=setInterval("time1()",1000);
    24. </script>
    25. </body>

javaScript 操作BOM對象