国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript的知識點整理

2024-05-06 15:45:43
字體:
來源:轉載
供稿:網友

在初學javascript的時候我們需要對javascript的知識點掌握好才能靈活運用javascript,今天錯新小編就為大家分享javascript的知識點整理,新手朋友們一起跟小編去參考參考吧。

1.四種瀏覽器對?document.body?的?clientHeight、offsetHeight?和?scrollHeight?的解釋。

這四種瀏覽器分別為IE(Internet?Explorer)、NS(Netscape)、Opera、FF(FireFox)。

clientHeight
大家對?clientHeight?都沒有什么異議,都認為是內容可視區域的高度,也就是說頁面瀏覽器中可以看到內容的這個區域的高度,一般是最后一個工具條以下到狀態欄以上的這個區域,與頁面內容無關。

offsetHeight
IE、Opera?認為?offsetHeight?=?clientHeight?+?滾動條?+?邊框。
NS、FF?認為?offsetHeight?是網頁內容實際高度,可以小于?clientHeight。

scrollHeight
IE、Opera?認為?scrollHeight?是網頁內容實際高度,可以小于?clientHeight。
NS、FF?認為?scrollHeight?是網頁內容高度,不過最小值是?clientHeight。

簡單地說
clientHeight?就是透過瀏覽器看內容的這個區域高度。
NS、FF?認為?offsetHeight?和?scrollHeight?都是網頁內容高度,只不過當網頁內容高度小于等于?clientHeight?時,scrollHeight?的值是?clientHeight,而?offsetHeight?可以小于?clientHeight。
IE、Opera?認為?offsetHeight?是可視區域?clientHeight?滾動條加邊框。scrollHeight?則是網頁內容實際高度。

同理
clientWidth、offsetWidth?和?scrollWidth?的解釋與上面相同,只是把高度換成寬度即可。

但是
FF?在不同的?DOCTYPE?中對?clientHeight?的解釋不同,?xhtml?1?trasitional?中則不是如上解釋的。其它瀏覽器則不存在此問題。


2.JS取clientHeight與scrollTop
先來段數據,下表的值為document.body.clientHeight?/?document.documentElement.clientHeight

?????????????IE???????????????FF
Html???????608/0??????????630/11096
Xhtml?????10942/591????11076/630

在html/xhtml與ie/ff這4種排列組合下,取得的clientHeight幾乎沒有一樣的,可見寫一段兼容3種瀏覽器兩種頁面標準的js腳本有多頭疼。

暫時總結的判斷方法如下:
var?h1?=?document.body.clientHeight;
var?h2?=?document.documentElement.clientHeight;
var?isXhtml?=?(h2<=h1&&h2!=0)?true:false;?//判斷當前頁面的Doctype是否為Xhtml
var?body?=?isXhtml?document.documentElement:document.body;
alert(body.clientHeight);?//最終結果比較一致

安全的取到scrollTop:
document.body.scrollTop?+?document.documentElement.scrollTop

判斷瀏覽器的類型,這種寫法挺喜歡的:
var?ua?=?navigator.userAgent.toLowerCase?();
var?os?=?new?Object();
os.isFirefox?=?ua.indexOf?("gecko")?!=?-1;
os.isOpera?=?ua.indexOf?("opera")?!=?-1;
os.isIE?=?!os.isOpera?&&?ua.indexOf?("msie")?!=?-1;


3.js取到flash對象方法匯總

IE,?FF,?Maxthon用document.getElementById(id)
Opera用?document.embeds(id)

var?isOpera=(window.opera&&navigator.userAgent.match(/opera/gi))?true:false;

if(isOpera){
var?oswf?=?document.embeds('ad_flipper_swf');
}else{
var?oswf?=?document.getElementById('ad_flipper_swf');
}


4.js執行順序
1.同級的不同的代碼塊,代碼塊間的執行順序為從上到下;
2.在代碼中嵌入代碼的情況下,先執行上層代碼塊,再執行子代碼塊;代碼中嵌入代碼
是指一個文件引入另一個文件,而不是指所有的通過document.write形式打出的代碼。
這篇文章就是小編分享javascript的知識點整理,如果你是剛剛開始學習javascrip的話,這篇文章可以幫助你更好的理解javascrip。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 五寨县| 柳州市| 吴川市| 辽源市| 新兴县| 枣庄市| 延吉市| 恭城| 浦江县| 靖安县| 林口县| 淮滨县| 绵竹市| 鹤壁市| 肇州县| 泸定县| 桐庐县| 青龙| 绥阳县| 云阳县| 神农架林区| 长沙市| 泸州市| 本溪| 轮台县| 通渭县| 曲松县| 丰原市| 广南县| 易门县| 蓝田县| 霍山县| 绥芬河市| 兴城市| 湾仔区| 余江县| 日喀则市| 陇南市| 紫金县| 大足县| 上虞市|