BOM&&DOM

BOM&&DOM

BOM的概念

提供了獨立于頁面內容而與瀏覽器進行交互的對象俄删,其核心對象是window

在瀏覽器中,window對象(注意奏路,w為小寫)指當前的瀏覽器窗口畴椰。它也是所有對象的頂層對象。

“頂層對象”指的是最高一層的對象鸽粉,所有其他對象都是它的下屬斜脂。JavaScript規(guī)定,瀏覽器環(huán)境的所有全局變量触机,都是window對象的屬性

判斷瀏覽器類型

? var t = navigator.userAgent;

? if(t.indexOf('Trident')!= -1){

? console.log('ie內核')

? }else if(t.indexOf('Presto')!= -1){

? console.log('歐朋')

? }else if(t.indexOf('Chrome')!= -1){

? console.log('chrome ')

? }else if(t.indexOf('Safari')!= -1){

? console.log('Safari ')

? }else{

? console.log('其他')

? }

判斷是移動端還是PC(重要)

//移動端

? var ua = navigator.userAgent.toLowerCase();

? if (ua.indexOf('mobi') !=-1) {

? ? // 手機瀏覽器

? ? console.log('手機')

? } else {

? ? // 非手機瀏覽器

? ? console.log('非手機')

? }

判斷是移動端還是PC(重要)

//移動端

? var ua = navigator.userAgent.toLowerCase();

? if (ua.indexOf('mobi') !=-1) {

? ? // 手機瀏覽器

? ? console.log('手機')

? if(ua.indexOf('android') !=-1){

? console.log('移動端 安卓')

? }else if(ua.indexOf('ipod') !=-1

??????? || ua.indexOf('iphone') !=-1

??????? || ua.indexOf('ipad') !=-1)

? {

? console.log('移動端? 蘋果手機')

? }

? } else {

? ? // 非手機瀏覽器

? ? console.log('非手機')

? }

location對象

location對象包含有關當前 URL 的信息帚戳。

location對象是 Window 對象的一個部分,可通過 window.location 屬性來訪問儡首。

屬性:hash片任、host、hostname蔬胯、href对供、pathname、port氛濒、protocol产场、search

href:設置或返回完整的 URL。(常用)

hash:設置或返回從井號 (#) 開始的 URL(錨)舞竿。

search:設置或返回從問號 (?) 開始的 URL(查詢部分京景?id=1&name=abb)。(常用)

host? 設置或返回主機名和當前 URL 的端口號骗奖。

hostname? 設置或返回當前 URL 的主機名确徙。

pathname? 設置或返回當前 URL 的路徑部分醒串。

port? 設置或返回當前 URL 的端口號。

protocol? 設置或返回當前 URL 的協(xié)議米愿。

location對象

方法:assign(url), replace(url) , reload()

assign()? 加載新的文檔厦凤。

reload()? 重新加載當前文檔。

replace()? 用新的文檔替換當前文檔育苟。

window.open();

打開一個新的瀏覽器窗口较鼓。

window.close();

關閉瀏覽器窗口。

alert(arg1)

顯示帶有一段消息和一個確認按鈕的警告框违柏。

prompt(arg1,arg2)

顯示可提示用戶輸入的對話框博烂。

confirm(arg1) (偶爾)

顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。

history對象:

?? history對象保存著用戶上網的歷史記錄,從窗口被 打開的那一刻算起.

?? 后退一頁? history.go(-1)???? history.back()

?? 前進一頁? history.go(1)????? history.forward()

?? 前進兩頁? history.go(2)

window.onload

load事件發(fā)生在文檔在瀏覽器窗口加載完畢時漱竖。window.onload屬性可以指定這個事件的回調函數禽篱。

window.onload = function() {

? console.log('頁面加載完畢')

};

定時器和延時器

JavaScript 提供定時執(zhí)行代碼的功能,叫做定時器(timer)馍惹,主要由setTimeout()和setInterval()這兩個函數來完成躺率。

? 延時器

? setTimeout函數用來指定某個函數或某段代碼,在多少毫秒之后執(zhí)行万矾。它返回一個整數悼吱,表示定時器的編號,以后可以用來取消這個定時器良狈。

? var timerId = setTimeout(func, delay);

上面代碼中后添,setTimeout函數接受兩個參數,第一個參數func是將要推遲執(zhí)行的函數名薪丁,第二個參數delay是推遲執(zhí)行的毫秒數遇西。

? console.log(1);

? //推遲執(zhí)行

? setTimeout(function(){

? console.log(2)

? },1000);

? console.log(3);

廣告彈出自動關閉

? 需要使用 oDiv.style.display = 'block';//讓div顯示

? 需要使用 oDiv.style.display = 'none';//讓div隱藏

window.onscroll

可以監(jiān)聽頁面的滾動

window.onscroll = function(){

? console.log('頁面滾動')

}

一旦頁面滾動就會觸發(fā)onscroll 函數

document.scrollingElement

document.scrollingElement屬性返回文檔的滾動元素。也就是說严嗜,當文檔整體滾動時粱檀,到底是哪個元素在滾動。

這個屬性返回的文檔的根元素document.documentElement(即<html>)漫玄。

獲取可視區(qū)域距離頁面頂部的距離

document.scrollingElement.scrollTop;

設置滾動條的距離頁面頂面的距離

document.scrollingElement.scrollTop = 0

或者也可以像下面

? 獲取

? scrollTop = document.scrollingElement.scrollTop

? scrollTop=document.documentElement.scrollTop? || document.body.scrollTop

設置

document.documentElement.scrollTop? = 0

?document.body.scrollTop = 0梧税;

DOM的基本操作(查詢、創(chuàng)建称近、添加第队,修改,刪除)

document.getElementById方法返回匹配指定id屬性的元素節(jié)點刨秆。如果沒有發(fā)現(xiàn)匹配的節(jié)點凳谦,則返回null。

getElementsByName衡未,根據name屬性

document.getElementsByClassName方法返回一個類似數組的對象(HTMLCollection實例)尸执,包括了所有class名字符合指定條件的元素(兼容問題家凯,低版本ie)

document.getElementsByTagName方法搜索 HTML 標簽名,返回符合條件的元素如失。它的返回值是一個類似數組對象(HTMLCollection實例)

document.querySelector方法接受一個 CSS 選擇器作為參數绊诲,返回匹配該選擇器的元素節(jié)點。如果有多個節(jié)點滿足匹配條件褪贵,則返回第一個匹配的節(jié)點掂之。如果沒有發(fā)現(xiàn)匹配的節(jié)點,則返回null脆丁。

var el1 = document.querySelector('.myclass');

document.querySelectorAll方法與querySelector用法類似世舰,區(qū)別是返回一個NodeList對象,包含所有匹配給定選擇器的節(jié)點槽卫。

elementList = document.querySelectorAll('.myclass');??

DOM節(jié)點類型(元素和文本)

DOM 的最小組成單位叫做節(jié)點(node)跟压。文檔的樹形結構(DOM 樹),就是由各種不同類型的節(jié)點組成歼培。每個節(jié)點可以看作是文檔樹的一片葉子震蒋。


Element:網頁的各種HTML標簽(比如<body>、<a>等)

Text:標簽之間或標簽包含的文本? (創(chuàng)建Text)

注釋也是節(jié)點

通過 nodeType屬性可以查看類型

如果節(jié)點是一個元素節(jié)點躲庄,nodeType 屬性返回 1喷好。

如果節(jié)點是屬性節(jié)點, nodeType 屬性返回 2。

如果節(jié)點是一個文本節(jié)點读跷,nodeType 屬性返回 3。

如果節(jié)點是一個注釋節(jié)點禾唁,nodeType 屬性返回 8

文檔碎片? document.createDocumentFragment()? 作為容器使用效览,可以避免頻繁操作dom

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荡短,隨后出現(xiàn)的幾起案子丐枉,更是在濱河造成了極大的恐慌,老刑警劉巖掘托,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘦锹,死亡現(xiàn)場離奇詭異,居然都是意外死亡闪盔,警方通過查閱死者的電腦和手機弯院,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泪掀,“玉大人听绳,你說我怎么就攤上這事∫旌眨” “怎么了椅挣?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵头岔,是天一觀的道長。 經常有香客問我鼠证,道長峡竣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任量九,我火速辦了婚禮适掰,結果婚禮上,老公的妹妹穿的比我還像新娘娩鹉。我一直安慰自己攻谁,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布弯予。 她就那樣靜靜地躺著戚宦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锈嫩。 梳的紋絲不亂的頭發(fā)上受楼,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音呼寸,去河邊找鬼艳汽。 笑死,一個胖子當著我的面吹牛对雪,可吹牛的內容都是我干的河狐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瑟捣,長吁一口氣:“原來是場噩夢啊……” “哼馋艺!你這毒婦竟也來了?” 一聲冷哼從身側響起迈套,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤捐祠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后桑李,有當地人在樹林里發(fā)現(xiàn)了一具尸體踱蛀,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年贵白,在試婚紗的時候發(fā)現(xiàn)自己被綠了率拒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡禁荒,死狀恐怖俏橘,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情圈浇,我是刑警寧澤寥掐,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布靴寂,位于F島的核電站,受9級特大地震影響召耘,放射性物質發(fā)生泄漏百炬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一污它、第九天 我趴在偏房一處隱蔽的房頂上張望剖踊。 院中可真熱鬧,春花似錦衫贬、人聲如沸德澈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽梆造。三九已至,卻和暖如春葬毫,著一層夾襖步出監(jiān)牢的瞬間镇辉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工贴捡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留忽肛,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓烂斋,卻偏偏與公主長得像枫夺,于是被迫代替她去往敵國和親躁劣。 傳聞我的和親對象是個殘疾皇子慎陵,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容