<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            IE與Firefox在JavaScript上的不同寫法小結

            時間:2024-07-22 08:25:06 JavaScript 我要投稿
            • 相關推薦

            IE與Firefox在JavaScript上的不同寫法小結

              在這篇文章中,作者介紹了7個在IE和Firefox中不同的JavaScript句法。

              1. CSS "float" 值

              訪問一個給定CSS 值的最基本句法是:

              object.style.property

              ,使用駝峰寫法來替換有連接符的值,例如,訪問某個ID為"header"的

            的background-color

              值,我們使用如下句法:

              document.getElementById("header").style.backgroundColor= "#ccc";

              但由于"float"這個詞是一個JavaScript保留字,因此我們不能用

              object.style.float

              來訪問,這里,我們可以在兩種瀏覽器中這么做:

              在IE中這樣寫:

              document.getElementById("header").style.styleFloat = "left";

              在Firefox中這樣寫:

              document.getElementById("header").style.cssFloat = "left";

              2. 元素的推算樣式

              JavaScript可以使用

              object.style.property

              句法,方便地在外部訪問和修改某個CSS樣式,但其限制是這些句法只能取出已設的行內樣式或者直接由JavaScript設定的樣式。并不能訪問某個外部的樣式表。為了訪問元素的"推算"樣式,我們可以使用下面的代碼:

              在IE中這樣寫:

              var myObject = document.getElementById("header");

              var myStyle = myObject.currentStyle.backgroundColor;

              在Firefox中這樣寫:

              var myObject = document.getElementById("header");

              var myComputedStyle = document.defaultView.getComputedStyle(myObject, null);

              var myStyle = myComputedStyle.backgroundColor;

              3. 訪問元素的"class"

              像"float"一樣,"class"是JavaScript的一個保留字,在這兩個瀏覽器中我們使用如下句法來訪問"class"。

              在IE中這樣寫:

              var myObject = document.getElementById("header");

              var myAttribute = myObject.getAttribute("className");

              在Firefox中這樣寫:

              var myObject = document.getElementById("header");

              var myAttribute = myObject.getAttribute("class");

              This syntax would also apply using the

              setAttribute

              method.

              4. 訪問

              就第3點中所提到的,我們同樣需要使用不現的句法區分來訪問

              在IE中這樣寫:

              var myObject = document.getElementById("myLabel");

              var myAttribute = myObject.getAttribute("htmlFor");

              在Firefox中這樣寫:

              var = document.getElementById("myLabel");

              var myAttribute = myObject.getAttribute("for");

              5. 獲取鼠標指針的位置

              計算出鼠標指針的位置對你來說可能是非常少見的,不過當你需要的時候,在IE和Firefox中的句法是不同的。這里所寫出的代碼將是最最基本的,也可能是某個復雜事件處理中的某一個部分。但他們可以解釋其中的異同點。同時,必須指出的是結果相對于Firefox,IE會有更在的不同,這種方法本身就是有BUG的。通常,這種不同可以用"拖動位置"來得到補償,但,那是另外一個主題的文章了: ) !

              在IE中這樣寫:

              復制代碼 代碼如下:

              var myCursorPosition = [0, 0];

              myCursorPosition[0] = event.clientX;

              myCursorPosition[1] = event.clientY;

              在Firefox中這樣寫:

              復制代碼 代碼如下:

              var myCursorPosition = [0, 0];

              myCursorPosition[0] = event.pageX;

              myCursorPosition[1] = event.pageY;

              6. 獲取可見區域、窗口的大小

              有時,我們會需要找到瀏覽器的可視位置的大小,通常我們稱之為"可見區域"。

              在IE中這樣寫:

              var myBrowserSize = [0, 0];

              myBrowserSize[0] = document.documentElement.clientWidth;

              myBrowserSize[1] = document.documentElement.clientHeight;

              在Firefox中這樣寫:

              var myBrowserSize = [0, 0];

              myBrowserSize[0] = window.innerWidth;

              myBrowserSize[1] = window.innerHeight;

              7. Alpha 透明

              好吧,這并不是一個JavaScript句法問題,而是源自于CSS的Alpha透明。但當某個物體需要淡入/出則需要JavaScript來表現,這是通過訪問CSS的Alpha透明設置來完成的,通常在一個循環中完成。你需要通過來修改的JavaScript的代碼如下::

              在IE中這樣寫:

              #myElement { filter: alpha(opacity=50); }

              在Firefox中這樣寫:

              #myElement { opacity: 0.5; }

              在IE中這樣寫:

              var myObject = document.getElementById("myElement");

              myObject.style.filter = "alpha(opacity=80)";

              在Firefox中這樣寫:

              var myObject = document.getElementById("myElement"); myObject.style.opacity = "0.5";

              還有什么不同的嗎?

              這是作者(via: 7 JavaScript Differences Between Firefox & IE)個人根據自己的經驗整理的,而sofish在JavaScript上依然是一個新手。如果還有更多的不同,歡迎大家提出來,分享出來,共同學習!

            【IE與Firefox在JavaScript上的不同寫法小結】相關文章:

            Javascript 閉包引起IE內存泄露分析04-01

            對javascript的理解03-29

            JavaScript的課堂講解03-31

            JavaScript 基礎教學04-01

            JavaScript學習筆記03-30

            常用的JavaScript模式03-10

            Javascript的this用法簡述03-25

            JavaScript常用方法匯總03-08

            高效編寫JavaScript代碼的技巧03-10

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看