2019-06-05 JavaScript(二)

今日內(nèi)容:

  1. JavaScript:
    1. ECMAScript:
    2. BOM:
    3. DOM:
      1. 事件

DOM簡單學(xué)習(xí):為了滿足案例要求

  • 功能:控制html文檔的內(nèi)容
  • 獲取頁面標簽(元素)對象:Element
    * document.getElementById("id值"):通過元素的id獲取元素對象
    * 操作Element對象:
    1. 修改屬性值:
    a. 明確獲取的對象是哪一個?
    b. 查看API文檔酒朵,找其中有哪些屬性可以設(shè)置
    2. 修改標簽體內(nèi)容:
    * 屬性:innerHTML
    a. 獲取元素對象
    b. 使用innerHTML屬性修改標簽體內(nèi)容

事件簡單學(xué)習(xí)

一桦锄、功能: 某些組件被執(zhí)行了某些操作后,觸發(fā)某些代碼的執(zhí)行蔫耽。
* 造句: xxx被xxx,我就xxx
* 我方水晶被摧毀后结耀,我就責(zé)備對友。
* 敵方水晶被摧毀后匙铡,我就夸獎自己图甜。

二、 如何綁定事件
1. 直接在html標簽上鳖眼,指定事件的屬性(操作)黑毅,屬性值就是js代碼
a. 事件:onclick--- 單擊事件
2. 通過js獲取元素對象,指定事件屬性钦讳,設(shè)置一個函數(shù)

代碼:
            <body>
                <img id="light" src="img/off.gif"  onclick="fun();">
                <img id="light2" src="img/off.gif">
                
                <script>
                    function fun(){
                        alert('我被點了');
                        alert('我又被點了');
                    }
                
                    function fun2(){
                        alert('咋老點我矿瘦?');
                    }
                
                    //1.獲取light2對象
                    var light2 = document.getElementById("light2");
                    //2.綁定事件
                    light2.onclick = fun2;
                
                
                </script>
            </body>
  • 案例1:電燈開關(guān)
<!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>電燈開關(guān)</title>
        
        </head>
        <body>
        
        <img id="light" src="img/off.gif">
        
        <script>
            /*
                分析:
                    1.獲取圖片對象
                    2.綁定單擊事件
                    3.每次點擊切換圖片
                        * 規(guī)則:
                            * 如果燈是開的 on,切換圖片為 off
                            * 如果燈是關(guān)的 off,切換圖片為 on
                        * 使用標記flag來完成
        
             */
        
            //1.獲取圖片對象
            var light = document.getElementById("light");
        
            var flag = false;//代表燈是滅的。 off圖片
        
            //2.綁定單擊事件
            light.onclick = function(){
                if(flag){//判斷如果燈是開的愿卒,則滅掉
                    light.src = "img/off.gif";
                    flag = false;
        
                }else{
                    //如果燈是滅的缚去,則打開
        
                    light.src = "img/on.gif";
                    flag = true;
                }
        
        
            }
            
        </script>
        </body>
        </html>

BOM:

一. 概念:Browser Object Model 瀏覽器對象模型
* 將瀏覽器的各個組成部分封裝成對象。

二. 組成:
* Window:窗口對象
* Navigator:瀏覽器對象
* Screen:顯示器屏幕對象
* History:歷史記錄對象
* Location:地址欄對象

三. Window:窗口對象

  1. 創(chuàng)建
  2. 方法
    a. 與彈出框有關(guān)的方法:
    alert() 顯示帶有一段消息和一個確認按鈕的警告框琼开。
    confirm() 顯示帶有一段消息以及確認按鈕和取消按鈕的對話框易结。
    * 如果用戶點擊確定按鈕,則方法返回true
    * 如果用戶點擊取消按鈕,則方法返回false
    prompt() 顯示可提示用戶輸入的對話框衬衬。
    * 返回值:獲取用戶輸入的值
    b. 與打開關(guān)閉有關(guān)的方法:
    close()關(guān)閉瀏覽器窗口买猖。
    * 誰調(diào)用我 ,我關(guān)誰
    open() 打開一個新的瀏覽器窗口
    * 返回新的Window對象
    c. 與定時器有關(guān)的方式
    setTimeout() 在指定的毫秒數(shù)后調(diào)用函數(shù)或計算表達式滋尉。
    * 參數(shù):
    i. js代碼或者方法對象
    ii. 毫秒值
    * 返回值:唯一標識玉控,用于取消定時器
    clearTimeout() 取消由 setTimeout() 方法設(shè)置的 timeout。
    setInterval() 按照指定的周期(以毫秒計)來調(diào)用函數(shù)或計算表達式狮惜。
    clearInterval() 取消由 setInterval() 設(shè)置的 timeout高诺。
  3. 屬性:
    a. 獲取其他BOM對象:
    history
    location
    Navigator
    Screen:
    b. 獲取DOM對象
    document
  4. 特點
    * Window對象不需要創(chuàng)建可以直接使用 window使用。 window.方法名();
    * window引用可以省略碾篡。 方法名();

四. Location:地址欄對象
1. 創(chuàng)建(獲取):
a. window.location
b. location
2. 方法:
* reload() 重新加載當前文檔虱而。刷新
3. 屬性
* href 設(shè)置或返回完整的 URL。

五. History:歷史記錄對象
1. 創(chuàng)建(獲取):
a. window.history
b. history
2. 方法:
* back() 加載 history 列表中的前一個 URL开泽。
* forward() 加載 history 列表中的下一個 URL牡拇。
* go(參數(shù)) 加載 history 列表中的某個具體頁面。
* 參數(shù):
* 正數(shù):前進幾個歷史記錄
* 負數(shù):后退幾個歷史記錄
3. 屬性:
* length 返回當前窗口歷史列表中的 URL 數(shù)量穆律。

DOM:

  • 概念: Document Object Model 文檔對象模型
    * 將標記語言文檔的各個組成部分惠呼,封裝為對象÷驮牛可以使用這些對象剔蹋,對標記語言文檔進行CRUD的動態(tài)操作
  • W3C DOM 標準被分為 3 個不同的部分:
    一、核心 DOM - 針對任何結(jié)構(gòu)化文檔的標準模型
    1. Document:文檔對象
    2. Element:元素對象
    3. Attribute:屬性對象
    4. Text:文本對象
    5. Comment:注釋對象
    6. Node:節(jié)點對象辅髓,其他5個的父對象
    二泣崩、 XML DOM - 針對 XML 文檔的標準模型
    三、 HTML DOM - 針對 HTML 文檔的標準模型

核心DOM模型:

一洛口、 Document:文檔對象

  1. 創(chuàng)建(獲取):在html dom模型中可以使用window對象來獲取
    a. window.document
    b. document
  2. 方法:
    a. 獲取Element對象:
    i. getElementById() : 根據(jù)id屬性值獲取元素對象矫付。id屬性值一般唯一
    ii. getElementsByTagName():根據(jù)元素名稱獲取元素對象們。返回值是一個數(shù)組
    iii. getElementsByClassName():根據(jù)Class屬性值獲取元素對象們绍弟。返回值是一個數(shù)組
    v. getElementsByName(): 根據(jù)name屬性值獲取元素對象們技即。返回值是一個數(shù)組
    b. 創(chuàng)建其他DOM對象:
    createAttribute(name)
    createComment()
    createElement()
    createTextNode()
  3. 屬性

二著洼、 Element:元素對象
1. 獲取/創(chuàng)建:通過document來獲取和創(chuàng)建
2. 方法:
a.removeAttribute():刪除屬性
b.setAttribute():設(shè)置屬性

三樟遣、Node:節(jié)點對象,其他5個的父對象
1. 特點:所有dom對象都可以被認為是一個節(jié)點
2. 方法:
* CRUD dom樹:
* appendChild():向節(jié)點的子節(jié)點列表的結(jié)尾添加新的子節(jié)點身笤。
* removeChild() :刪除(并返回)當前節(jié)點的指定子節(jié)點豹悬。
* replaceChild():用新節(jié)點替換一個子節(jié)點。
3.屬性:
* parentNode 返回節(jié)點的父節(jié)點液荸。
/*
超鏈接功能:
1.可以被點擊:樣式
2.點擊后跳轉(zhuǎn)到href指定的url
需求:保留1功能瞻佛,去掉2功能
實現(xiàn):href="javascript:void(0);"
*/
四、 HTML DOM

  1. 標簽體的設(shè)置和獲取:innerHTML
  2. 使用html元素對象的屬性
  3. 控制元素樣式
    a. 使用元素的style屬性來設(shè)置
如:
         //修改樣式方式1
        div1.style.border = "1px solid red";
        div1.style.width = "200px";
        //font-size--> fontSize
        div1.style.fontSize = "20px";

b. 提前定義好類選擇器的樣式伤柄,通過元素的className屬性來設(shè)置其class屬性值绊困。

        var div2=document.getElementById("div2");
        div2.onclick=function () {
            div2.className="d1";
        }

事件監(jiān)聽機制:

一、 概念:某些組件被執(zhí)行了某些操作后适刀,觸發(fā)某些代碼的執(zhí)行秤朗。

  1. 事件:某些操作。如: 單擊笔喉,雙擊取视,鍵盤按下了,鼠標移動了
  2. 事件源:組件常挚。如: 按鈕 文本輸入框...
  3. 監(jiān)聽器:代碼作谭。
  4. 注冊監(jiān)聽:將事件,事件源奄毡,監(jiān)聽器結(jié)合在一起折欠。 當事件源上發(fā)生了某個事件,則觸發(fā)執(zhí)行某個監(jiān)聽器代碼吼过。

二怨酝、常見的事件:

  1. 點擊事件:
    a. onclick:單擊事件
    b. ondblclick:雙擊事件
  2. 焦點事件
    a. onblur:失去焦點
    i:一般用于表單校驗
    b. onfocus:元素獲得焦點。
  3. 加載事件:
    a. onload:一張頁面或一幅圖像完成加載那先。
  4. 鼠標事件:
    a. onmousedown 鼠標按鈕被按下农猬。
    i:定義方法時,定義一個形參event對象售淡。
    ii:event對象的button屬性可以獲取鼠標被點擊的鍵斤葱。
    b. onmouseup 鼠標按鍵被松開。
    c. onmousemove 鼠標被移動揖闸。
    d. onmouseover 鼠標移到某元素之上揍堕。
    e. onmouseout 鼠標從某元素移開。
  5. 鍵盤事件:
    a. onkeydown 某個鍵盤按鍵被按下汤纸。
    i:同鼠標onmousedown衩茸,獲取被按下鍵的對象keyCode。
    b. onkeyup 某個鍵盤按鍵被松開贮泞。
    c. onkeypress 某個鍵盤按鍵被按下并松開楞慈。
  6. 選擇和改變
    a. onchange 域的內(nèi)容被改變。
    b. onselect 文本被選中啃擦。
  7. 表單事件:
    a. onsubmit 確認按鈕被點擊囊蓝。
  • 可以阻止表單的提交:方法返回false則表單被阻止提交。
    b. onreset 重置按鈕被點擊令蛉。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末聚霜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蝎宇,老刑警劉巖弟劲,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異姥芥,居然都是意外死亡函卒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門撇眯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來报嵌,“玉大人,你說我怎么就攤上這事熊榛∶” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵玄坦,是天一觀的道長血筑。 經(jīng)常有香客問我,道長煎楣,這世上最難降的妖魔是什么豺总? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮择懂,結(jié)果婚禮上喻喳,老公的妹妹穿的比我還像新娘。我一直安慰自己困曙,他們只是感情好表伦,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著慷丽,像睡著了一般蹦哼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上要糊,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天纲熏,我揣著相機與錄音,去河邊找鬼锄俄。 笑死局劲,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的珊膜。 我是一名探鬼主播容握,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼宣脉,長吁一口氣:“原來是場噩夢啊……” “哼车柠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤竹祷,失蹤者是張志新(化名)和其女友劉穎谈跛,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塑陵,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡感憾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了令花。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阻桅。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖兼都,靈堂內(nèi)的尸體忽然破棺而出嫂沉,到底是詐尸還是另有隱情,我是刑警寧澤扮碧,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布趟章,位于F島的核電站,受9級特大地震影響慎王,放射性物質(zhì)發(fā)生泄漏蚓土。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一赖淤、第九天 我趴在偏房一處隱蔽的房頂上張望蜀漆。 院中可真熱鬧,春花似錦咱旱、人聲如沸嗜愈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蠕嫁。三九已至,卻和暖如春毯盈,著一層夾襖步出監(jiān)牢的瞬間剃毒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工搂赋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赘阀,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓脑奠,卻偏偏與公主長得像基公,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宋欺,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,132評論 0 21
  • ??JavaScript 與 HTML 之間的交互是通過事件實現(xiàn)的。 ??事件酸休,就是文檔或瀏覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,502評論 1 11
  • 一骂租、JS前言 (1)認識JS 也許你已經(jīng)了解HTML標記(也稱為結(jié)構(gòu)),知道了CSS樣式(也稱為表示)斑司,會使用HT...
    凜0_0閱讀 2,777評論 0 8
  • 第1章 認識JS JavaScript能做什么渗饮?1.增強頁面動態(tài)效果(如:下拉菜單、圖片輪播宿刮、信息滾動等)2.實現(xiàn)...
    mo默22閱讀 1,306評論 0 5
  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,010評論 6 13