欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

JS技巧:7個在IE和Firefox中不同的JavaScript語法

admin
2010年8月17日 23:14 本文熱度 3335
盡管那需要用長串的、沉悶的不同分支代碼來應付不同瀏覽器的日子已經過去,偶爾還是有必要做一些簡單的區分和目標檢測來確保某塊代碼能在用戶的機器上正常運行。在這篇文章中,*介紹了7個在IE和Firefox中不同的JavaScript句法。

 

1. CSS "float" 值

訪問一個給定CSS 值的最基本句法是:object.style.property,使用駝峰寫法來替換有連接符的值,例如,訪問某個ID為"header"的<div>的 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. 訪問<label>標簽中的"for"
就第3點中所提到的,我們同樣需要使用不現的句法區分來訪問<label>標簽中的"for":

在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)";

 

$False$

  

在Firefox中這樣寫:

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

還有什么不同的嗎?
這是作者個人根據自己的經驗整理的,而sofish在JavaScript上依然是一個新手。如果還有更多的不同,歡迎大家提出來,分享出來,共同學習!

該文章在 2010/8/17 23:14:54 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved