![Web前端技術(shù) 課件 模塊四 任務(wù)2 主頁(yè)榜單鼠標(biāo)滑過(guò)功能實(shí)現(xiàn)_第1頁(yè)](http://file4.renrendoc.com/view7/M00/27/09/wKhkGWbUO-eABnzVAAKEsujkmio586.jpg)
![Web前端技術(shù) 課件 模塊四 任務(wù)2 主頁(yè)榜單鼠標(biāo)滑過(guò)功能實(shí)現(xiàn)_第2頁(yè)](http://file4.renrendoc.com/view7/M00/27/09/wKhkGWbUO-eABnzVAAKEsujkmio5862.jpg)
![Web前端技術(shù) 課件 模塊四 任務(wù)2 主頁(yè)榜單鼠標(biāo)滑過(guò)功能實(shí)現(xiàn)_第3頁(yè)](http://file4.renrendoc.com/view7/M00/27/09/wKhkGWbUO-eABnzVAAKEsujkmio5863.jpg)
![Web前端技術(shù) 課件 模塊四 任務(wù)2 主頁(yè)榜單鼠標(biāo)滑過(guò)功能實(shí)現(xiàn)_第4頁(yè)](http://file4.renrendoc.com/view7/M00/27/09/wKhkGWbUO-eABnzVAAKEsujkmio5864.jpg)
![Web前端技術(shù) 課件 模塊四 任務(wù)2 主頁(yè)榜單鼠標(biāo)滑過(guò)功能實(shí)現(xiàn)_第5頁(yè)](http://file4.renrendoc.com/view7/M00/27/09/wKhkGWbUO-eABnzVAAKEsujkmio5865.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主頁(yè)榜單鼠標(biāo)滑過(guò)功能實(shí)現(xiàn)Web前端技術(shù)主講老師:***延時(shí)符CONTENTS目錄01任務(wù)描述03知識(shí)點(diǎn)導(dǎo)圖02學(xué)習(xí)目標(biāo)
04相關(guān)知識(shí)05任務(wù)實(shí)施延時(shí)符任務(wù)描述延時(shí)符任務(wù)描述在頁(yè)面瀏覽過(guò)程中,常常會(huì)遇到鏈接文字或者按鈕的滑動(dòng)動(dòng)畫。例如在下面的頁(yè)面中鼠標(biāo)滑過(guò)歌曲名稱時(shí),對(duì)應(yīng)的播放,加入歌曲列表和收藏按鈕就會(huì)出現(xiàn);當(dāng)鼠標(biāo)滑出后,按鈕又會(huì)再次隱藏。又比如,當(dāng)鼠標(biāo)滑過(guò)播放按鈕時(shí),按鈕也會(huì)發(fā)生顏色等變化;當(dāng)鼠標(biāo)滑出后,按鈕又會(huì)恢復(fù)到原來(lái)的樣式。下面,我們將學(xué)習(xí)如何使用JavaScript相關(guān)知識(shí)完成鼠標(biāo)滑過(guò)動(dòng)畫任務(wù)。效果如圖4-2-1所示。延時(shí)符學(xué)習(xí)目標(biāo)延時(shí)符學(xué)習(xí)目標(biāo)掌握外部使用JavaScript的方法;掌握DOM基礎(chǔ)知識(shí),以及DOM對(duì)象獲取和操作HTML元素的方法;掌握J(rèn)avaScript中常用事件的使用方法;知識(shí)目標(biāo)能夠根據(jù)要求編寫JavaScript代碼實(shí)現(xiàn)鼠標(biāo)滑過(guò)動(dòng)畫功能;能夠通過(guò)DOM對(duì)象對(duì)html元素進(jìn)行操作;能夠使用外部JavaScript代碼的方法;技能目標(biāo)延時(shí)符培養(yǎng)分析問(wèn)題能力;培養(yǎng)自主學(xué)習(xí)能力;素養(yǎng)目標(biāo)知識(shí)點(diǎn)導(dǎo)圖延時(shí)符知識(shí)點(diǎn)導(dǎo)圖延時(shí)符相關(guān)知識(shí)延時(shí)符外部使用jsfor語(yǔ)句DOM簡(jiǎn)介獲取DOM操作DOM元素常用事件通過(guò)在前一個(gè)任務(wù)的學(xué)習(xí),我們掌握了內(nèi)部JavaScript代碼的使用方法,由<script>...</script>包含的代碼就是JavaScript代碼,它將直接被瀏覽器執(zhí)行?,F(xiàn)在我們將學(xué)習(xí)第二種JavaScript代碼的使用方法,把JavaScript代碼放到一個(gè)單獨(dú)的.js文件,然后在HTML中通過(guò)<scriptsrc="..."></script>引入這個(gè)文件:JavaScript的使用:外部使用延時(shí)符1.<html>
2.<head>
3.
<script
src="js/abc.js"></script>
//使用外部JavaScript文件
abc.js4.</head>
5.<body>
6.
...
7.</body>
8.</html>
注意:每個(gè)html文件中可以多次使用<script></script>來(lái)使用JavaScript代碼。每對(duì)<script></script>只能是內(nèi)部或者外部使用JavaScript,而不能同時(shí)內(nèi)部和外部使用。JavaScript的使用:DOM基礎(chǔ)延時(shí)符DOM(DocumentObjectModel)譯為文檔對(duì)象模型,是HTML和XML文檔的API(應(yīng)用程序編程接口)。其中HTMLDOM定義了訪問(wèn)和操作HTML文檔的標(biāo)準(zhǔn)方法。DOM的最小組成單位叫做節(jié)點(diǎn)(node)。文檔的樹(shù)形結(jié)構(gòu)(DOM樹(shù)),就是由各種不同類型的節(jié)點(diǎn)組成。每個(gè)節(jié)點(diǎn)可以看作是文檔樹(shù)的一片葉子。通過(guò)觀察html代碼和對(duì)應(yīng)的DOM結(jié)構(gòu)圖,不難發(fā)現(xiàn)每一個(gè)html元素就是一個(gè)DOM樹(shù)形結(jié)構(gòu)中的節(jié)點(diǎn)(DOMNode)。一個(gè)文檔的所有節(jié)點(diǎn),按照所在的層級(jí),可以抽象成一種樹(shù)狀結(jié)構(gòu)。這種樹(shù)狀結(jié)構(gòu)就是DOM樹(shù)。它有一個(gè)頂層節(jié)點(diǎn),下一層都是頂層節(jié)點(diǎn)的子節(jié)點(diǎn),然后子節(jié)點(diǎn)又有自己的子節(jié)點(diǎn),就這樣層層衍生出一個(gè)金字塔結(jié)構(gòu),又像一棵樹(shù)。1.<html>
2.<head>
3.<title>文檔標(biāo)題</title>
4.</head>
5.<body>
6.<a
href=’’>我的鏈接</a>
7.<h1>我的標(biāo)題</h1>
8.</body>
9.</html>
JavaScript的使用:DOM基礎(chǔ)延時(shí)符瀏覽器原生提供document節(jié)點(diǎn),代表整個(gè)文檔。文檔的第一層有兩個(gè)節(jié)點(diǎn),第一個(gè)是文檔類型節(jié)點(diǎn)(<!doctypehtml>),第二個(gè)是HTML網(wǎng)頁(yè)的頂層容器標(biāo)簽<html>。后者構(gòu)成了樹(shù)結(jié)構(gòu)的根節(jié)點(diǎn)(rootnode),其他HTML標(biāo)簽節(jié)點(diǎn)都是它的下級(jí)節(jié)點(diǎn)。除了根節(jié)點(diǎn),其他節(jié)點(diǎn)都有三種層級(jí)關(guān)系。父節(jié)點(diǎn)關(guān)系(parentNode):直接的那個(gè)上級(jí)節(jié)點(diǎn)。子節(jié)點(diǎn)關(guān)系(childNodes):直接的下級(jí)節(jié)點(diǎn)。同級(jí)節(jié)點(diǎn)關(guān)系(sibling):擁有同一個(gè)父節(jié)點(diǎn)的節(jié)點(diǎn)。DOM提供操作接口,用來(lái)獲取這三種關(guān)系的節(jié)點(diǎn)。比如,子節(jié)點(diǎn)接口包括firstChild(第一個(gè)子節(jié)點(diǎn))和lastChild(最后一個(gè)子節(jié)點(diǎn))等屬性,同級(jí)節(jié)點(diǎn)接口包括nextSibling(緊鄰在后的那個(gè)同級(jí)節(jié)點(diǎn))和previousSibling(緊鄰在前的那個(gè)同級(jí)節(jié)點(diǎn))屬性。在JavaScript中,將通過(guò)這些節(jié)點(diǎn)對(duì)html元素進(jìn)行各種操作,比如:更新,遍歷,添加和刪除。JavaScript的使用:DOM獲取延時(shí)符在操作一個(gè)DOM節(jié)點(diǎn)前,我們需要通過(guò)各種方法獲取DOM節(jié)點(diǎn)。最常用是獲取單個(gè)DOM節(jié)點(diǎn)的方法,比如:document.getElementById(),由于ID屬性值在HTML文檔中的唯一性的,所以document.getElementById()可以直接定位唯一的一個(gè)DOM節(jié)點(diǎn)。獲取多個(gè)DOM節(jié)點(diǎn)的方法,例如:document.getElementsByTagName()和document.getElementsByClassName()方法返回一組符合要求的DOM節(jié)點(diǎn)。要精確地選擇DOM,可以先定位父節(jié)點(diǎn),再?gòu)母腹?jié)點(diǎn)開(kāi)始選擇,以縮小范圍。1.//
返回ID為'test'的節(jié)點(diǎn):
2.var
test
=
document.getElementById('test');
3.//
先定位ID為'test-table'的節(jié)點(diǎn),再返回其內(nèi)部所有tr節(jié)點(diǎn):
4.var
trs
=
document.getElementById('test-table').getElementsByTagName('tr');
5.//
先定位ID為'test-div'的節(jié)點(diǎn),再返回其內(nèi)部所有class包含red的節(jié)點(diǎn):
6.var
reds
=
document.getElementById('test-div').getElementsByClassName('red');
7.//
獲取節(jié)點(diǎn)test下的所有直屬子節(jié)點(diǎn):
8.var
cs
=
test.children;
9.//
獲取節(jié)點(diǎn)test下第一個(gè)、最后一個(gè)子節(jié)點(diǎn):
10.var
first
=
test.firstElementChild;
11.var
last
=
test.lastElementChild;
JavaScript的使用:DOM獲取延時(shí)符另外,第二類方法是使用querySelector()和querySelectorAll(),需要了解css語(yǔ)法中選擇器(selector)語(yǔ)法,然后使用條件來(lái)獲取節(jié)點(diǎn),更加方便:1.//
通過(guò)querySelector獲取ID為q1的節(jié)點(diǎn):
2.var
q1
=
document.querySelector('#q1');
3.//
通過(guò)querySelectorAll獲取q1節(jié)點(diǎn)內(nèi)的符合條件的所有節(jié)點(diǎn):
4.var
ps
=
q1.querySelectorAll('div.highlighted
>
p');
注意:IE瀏覽器對(duì)querySelector的支持比較復(fù)雜,其中低版本的IE<8不支持querySelector和querySelectorAll。IE8有限支持,只支持ID屬性獲取。IE9和更高版本完全支持。JavaScript的使用:DOM操作延時(shí)符在獲取DOM節(jié)點(diǎn)后,可以直接修改對(duì)應(yīng)元素內(nèi)容,常用方法有兩種:修改節(jié)節(jié)點(diǎn)的innerHTML屬性或者修改節(jié)點(diǎn)的innerText屬性。(1)innerHTML屬性。innerHTML屬性這個(gè)方式非常強(qiáng)大,不但可以修改一個(gè)DOM節(jié)點(diǎn)的文本內(nèi)容,還可以直接通過(guò)HTML片段修改DOM節(jié)點(diǎn)內(nèi)部的子樹(shù)。例如:1.//
獲取<p
id="p-id">原來(lái)的段落文字</p>
2.var
p
=
document.getElementById('p-id');
3.//
設(shè)置文本為abc:
4.p.innerHTML
=
'修改后的段落文字';
//
<p
id="p-id">修改后的段落文字</p>
5.//
設(shè)置HTML:
6.p.innerHTML
=
'修改后的<span
style="color:red">段落</span>文字';
7.//
<p>...</p>的內(nèi)部結(jié)構(gòu)已修改
上面代碼運(yùn)行結(jié)果如圖4-2-5所示:JavaScript的使用:DOM操作延時(shí)符(2)innerText屬性。修改innerText屬性,這樣可以自動(dòng)對(duì)字符串進(jìn)行HTML編碼,保證無(wú)法設(shè)置任何HTML標(biāo)簽。1.//
獲取<p
id="p-id">...</p>
2.var
p
=
document.getElementById('p-id');
3.//
設(shè)置文本:
4.p.innerText
=
'<script>alert("Hi")</script>';
5.//
HTML被自動(dòng)編碼,無(wú)法設(shè)置一個(gè)<script>節(jié)點(diǎn):
6.//
<p
id="p-id"><script>alert("Hi")</script></p>
JavaScript的使用:常用事件延時(shí)符HTMLDOM允許JavaScript對(duì)HTML事件作出反應(yīng)。當(dāng)事件發(fā)生時(shí),可以執(zhí)行JavaScript,比如當(dāng)用戶點(diǎn)擊一個(gè)HTML元素時(shí)。onchange事件。onload和onunload事件。onmouseover和onmouseout事件。onmousedown、onmouseup。onclick事件。JavaScript的使用:事件監(jiān)聽(tīng)延時(shí)符DOM的事件操作(監(jiān)聽(tīng)和觸發(fā)),都定義在EventTarget接口。所有節(jié)點(diǎn)對(duì)象都部署了這個(gè)接口,其他一些需要事件通信的瀏覽器內(nèi)置對(duì)象(比如,XMLHttpRequest、AudioNode、AudioContext)也部署了這個(gè)接口。該接口主要提供三個(gè)實(shí)例方法。addEventListener:綁定事件的監(jiān)聽(tīng)函數(shù)removeEventListener:移除事件的監(jiān)聽(tīng)函數(shù)JavaScript的使用:事件監(jiān)聽(tīng)
addEventListener()延時(shí)符1.EventTarget.addEventListener()。EventTarget.addEventListener()用于在當(dāng)前節(jié)點(diǎn)或?qū)ο笊?,定義一個(gè)特定事件的監(jiān)聽(tīng)函數(shù)。一旦這個(gè)事件發(fā)生,就會(huì)執(zhí)行監(jiān)聽(tīng)函數(shù)。該方法沒(méi)有返回值。該方法接受三個(gè)參數(shù)。type:事件名稱,大小寫敏感。listener:監(jiān)聽(tīng)函數(shù)。事件發(fā)生時(shí),會(huì)調(diào)用該監(jiān)聽(tīng)函數(shù)。useCapture:布爾值,表示監(jiān)聽(tīng)函數(shù)是否在捕獲階段(capture)觸發(fā)(參見(jiàn)后文《事件的傳播》部分),默認(rèn)為false(監(jiān)聽(tīng)函數(shù)只在冒泡階段被觸發(fā))。該參數(shù)可選。上面地案例中,button節(jié)點(diǎn)的addEventListener方法綁定click事件的監(jiān)聽(tīng)函數(shù)hello,該函數(shù)只在冒泡階段觸發(fā)。1.target.addEventListener(type,listener[,useCapture]);
1.functionhello(){2.console.log('Helloworld');3.}4.5.varbutton=document.getElementById('btn');6.button.addEventListener('click',hello,false);
JavaScript的使用:事件監(jiān)聽(tīng)
removeEventListener())延時(shí)符EventTarget.removeEventListener方法用來(lái)移除addEventListener方法添加的事件監(jiān)聽(tīng)函數(shù)。該方法沒(méi)有返回值。removeEventListener方法的參數(shù),與addEventListener方法完全一致。它的第一個(gè)參數(shù)“事件類型”,大小寫敏感。注意:removeEventListener方法移除的監(jiān)聽(tīng)函數(shù),必須是addEventListener方法添加的那個(gè)監(jiān)聽(tīng)函數(shù),而且必須在同一個(gè)元素節(jié)點(diǎn),否則無(wú)效。target.addEventListener('click',listener,false);target.removeEventListener('click',listener,false);
JavaScript的使用:for語(yǔ)句延時(shí)符例如,根據(jù)年齡顯示不同內(nèi)容,可以用if語(yǔ)句實(shí)現(xiàn)如下:注意:其中else語(yǔ)句是可選的。如果語(yǔ)句塊只包含一條語(yǔ)句,那么從JavaScript的語(yǔ)法規(guī)定而言,可以省略{},但是強(qiáng)烈建議保留。1.varage=prompt(“輸入年齡”);2.if(age>=18){//如果age>=18為true,則執(zhí)行if語(yǔ)句塊3.alert('adult');4.}else{//否則執(zhí)行else語(yǔ)句塊5.alert('teenager');6.}任務(wù)實(shí)施延時(shí)符任務(wù)分析技術(shù)分析與實(shí)現(xiàn)完成代碼任務(wù)分析延時(shí)符實(shí)現(xiàn)鼠標(biāo)滑動(dòng)動(dòng)畫任務(wù),由于需要在頁(yè)面加載時(shí)自動(dòng)運(yùn)行,所以可以使用window對(duì)象onload事件。本任務(wù)的實(shí)現(xiàn),主要在window.onload的事件處理函數(shù)中,通過(guò)document.querySelectorAll()獲取所有播放、加入播放列表和收藏按鈕組成的對(duì)象。再對(duì)每個(gè)對(duì)象通過(guò)addEventListener()進(jìn)行mouseover和mouserout事件監(jiān)聽(tīng),每當(dāng)mouseov
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代商業(yè)辦公空間設(shè)計(jì)藝術(shù)
- 《神奇的工具》(說(shuō)課稿)安徽大學(xué)版三年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)
- 生態(tài)城市中的綠色建筑材料應(yīng)用
- 16《朱德的扁擔(dān)》說(shuō)課稿-2024-2025學(xué)年二年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 環(huán)保型辦公空間的設(shè)計(jì)與實(shí)現(xiàn)
- 七年級(jí)地理下冊(cè) 11《中國(guó)在世界中》說(shuō)課稿2 魯教版五四制
- 現(xiàn)代建筑設(shè)計(jì)的創(chuàng)新點(diǎn)與實(shí)踐案例分享
- 環(huán)境保護(hù)與經(jīng)濟(jì)法的協(xié)同發(fā)展
- 環(huán)保理念下的商業(yè)空間綠色建筑設(shè)計(jì)與建設(shè)
- 生物科技在環(huán)保產(chǎn)業(yè)中的創(chuàng)新應(yīng)用及前景
- 醫(yī)院消防安全培訓(xùn)課件
- 質(zhì)保管理制度
- 《00541語(yǔ)言學(xué)概論》自考復(fù)習(xí)題庫(kù)(含答案)
- 2025年機(jī)關(guān)工會(huì)個(gè)人工作計(jì)劃
- 2024年全國(guó)卷新課標(biāo)1高考英語(yǔ)試題及答案
- 華為經(jīng)營(yíng)管理-華為激勵(lì)機(jī)制(6版)
- 城市旅行珠海景色介紹珠海旅游攻略PPT圖文課件
- 小學(xué) 三年級(jí) 科學(xué)《觀測(cè)風(fēng)》教學(xué)設(shè)計(jì)
- JJF1664-2017溫度顯示儀校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 第二講共振理論、有機(jī)酸堿理論
- 高考英語(yǔ)聽(tīng)力必備場(chǎng)景詞匯精選(必看)
評(píng)論
0/150
提交評(píng)論