天天看點

JS之BOM

           JS語言是BS開發中負責頁面動态效果的一種腳本語言,既然如此,自然少不了有關浏覽器頁面的知識,BOM:浏覽器對象模型,涉及到有關JS中操作浏覽器頁面的一些基本知識。在這裡最核心的對象就是window。它包括六大屬性,當中這些屬性本身也是對象。

JS之BOM

通過圖中。能夠看出來,在window中我們最經常使用的就是window中的document對象即DOM(後面單獨總結)。這裡僅簡單的總結一下有關window對象中的相關方法和使用。

 一、系統對話框

      此方法主要用于與使用者互動。起到一個提示使用者的作用。在BOM彈出窗體中。主要涉及到三個:

      alert():相當于vb中的msgbox()的最簡單形式,被經經常使用于JS中進行測試。

      prompt():輸入提示框,類似于inputbox

      confirm():确定和取消,msgbox也能夠實作此功能

二、位置和大小

    主要指擷取窗體的一個大小和位置。此處須要與DOM中的元素的位置和大小進行區分。

  1、大小 :用來擷取浏覽器窗體大小

 非IE:

        innerWidth/Height:不包含菜單條,工具欄和邊框的大小。僅僅是頁面顯示部分的大小。

        outerWidth/Height:整個窗體的目前的尺寸,包含菜單條、工具欄和邊框。

IE:可利用clientWidth/Height來擷取元素的實際大小。這裡和DOM中擷取元素的大小有非常多關聯的地方,後面總結。

   2、位置:擷取浏覽器目前位置。距離左邊和頂端的距離。

    非IE:screenLeft/Top

        IE:screenX/Y

這些是最主要的擷取窗體的位置和大小的表示,能夠和DOM中擷取元素尺寸和位置來進行區分比較。一般會在設定元素居中顯示時用到,在使用時,要涉及到各個浏覽器的相容問題,另外還可利用moveTo(,),moveBy(,)resizeTo(,) resizeBy()對元素進行移動等。

三、經常用法

         JS是單線程語言。不支援多線程,是以,它提供了兩種方法專門兒用于延遲載入和間歇調用

       1、逾時調用

         setTimeout(運作的方法。延遲的時間) //含有括号裡的兩個參數

        哪裡能夠用得到呢?

        實戰:JS中的粘貼(paste)觸發事件發生在粘貼到目标區域之前,那麼假設想要在粘貼事件之後觸發想要運作的方法。此時,我們就能夠用到延遲載入來實作此功能。

var box=function(){setTimeout(alert('粘貼成功。'), 50)}; //預設機關毫秒,事件綁定代碼略
      

  此方法預設傳回一個ID值,JS還提供了 clearTimeout()方法可用于取消超市調用,使用時。僅僅需将須要取消方法的ID(傳回值)賦給clearTimeout作為參數就可以。                     

clearTimeout(box);      

      2、間歇調用

     setInterval(運作的方法,間歇時間),使用方法同上。同一時候可利用clearInterval()來取消間歇調用。

     3、操作父窗體

     在使用浏覽器時,會常常遇到在彈出子窗體中去觸發父窗體的情況,JS中open()方法用來打開一個新的子窗體,同一時候,預設父窗體的辨別為opener,可在子窗體中加入事件。來觸發父窗體對應。

document.onclick = function () {
    opener.document.write('子窗體讓我輸出的。');
}      

總結:以上是有關window對象中最經常使用到的一些基礎。在學習這一部分時,要避免與DOM中的一些知識混淆比方擷取元素尺寸和大小等。

繼續閱讀