最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JS作業(yè):簡(jiǎn)易輪播圖個(gè)人圖析讓你徹底弄懂各種節(jié)點(diǎn)的定義

2020-05-13 18:29 作者:詩(shī)書(shū)畫(huà)唱  | 我要投稿

案例1:獲取div下的所有子節(jié)點(diǎn),并設(shè)置背景顏色為紅色,如果是p標(biāo)簽,設(shè)置p標(biāo)簽的內(nèi)容為“我愛(ài)中國(guó)”



<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style>

a{text-decoration: none;}

</style>

<script>

window. onload=function(){

//用getElementsByTagName標(biāo)簽選擇器獲取div下的所有的元素節(jié)點(diǎn)

var ziJieDianDivShuZu =document . getElementsByTagName("div")[0].children;

//用for of遍歷元素節(jié)點(diǎn),用.style.backgroundcolor將每個(gè)節(jié)點(diǎn)的背景顏色修改為紅色

for(var i of ziJieDianDivShuZu){

i.style. backgroundColor="red";}

//標(biāo)簽選擇器可以獲取div下的所有的標(biāo)簽,所以用標(biāo)簽選擇器去獲取div下的所有的p標(biāo)簽

var jieDianPShuZu=document. getElementsByTagName("div")[0].getElementsByTagName("p");

//遍歷得到的p數(shù)組,讓每個(gè)p內(nèi)容修改為我愛(ài)中國(guó)

for(var i of jieDianPShuZu){

i.innerHTML="我愛(ài)中國(guó)";

}

}

</script>

</head>

<body>

<div>

<img src="./img/1.jpg" width="100px" height="100px">

<a href="#">a href詩(shī)書(shū)畫(huà)唱超鏈接</a>

<p>P點(diǎn)贊</p>

<ul>

<li>li投幣</li>

</ul>

<p>p大家好</p>

</div>

</body>

</html>



案例2:獲取ul下的所有子節(jié)點(diǎn),設(shè)置li的的背景顏色隔行換色

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>


<style>

ul{

list-style:

none;width: 666px; height: 23px; margin: 0px auto;

text-align: center;}

ul li{

float: left;width:100px ;background-color: yellow;

}

ul li a{

text-decoration: none;}

</style>

<script>


window. onload=function(){

//用標(biāo)簽選擇器把ul等標(biāo)簽看作重上到下排序的數(shù)組,獲取ul的下標(biāo)為0的第一個(gè)的內(nèi)容

var ulFirstNeiRong=document . getElementsByTagName("ul")[0];

//用.children獲取所有的li:

//var liShuZu=ull.children;

//用for of等給每個(gè)li添加鼠標(biāo)移入事件

var jiShuZu=ulFirstNeiRong. getElementsByClassName("jiID");

var ouShuZu=ulFirstNeiRong. getElementsByClassName("ouID");

for(var i of jiShuZu){

i.onmouseover=function(){

this. style. backgroundColor="red";}

i.onmouseout =function(){

this. style. backgroundColor="yellow";

}}

for(var i of ouShuZu){

i.onmouseover=function(){

this.style .backgroundColor="green";

}

i.onmouseout =function(){

this. style. backgroundColor="yellow";

}

}}

</script>

</head>

<body>

<ul>

<!--jiID:奇ID,ouID:偶ID-->

<li class="jiID"><a href="#">詩(shī)書(shū)畫(huà)唱</a></li>

<li class="ouID"><a href="#"> UP主</a></li>

<li class="jiID"><a href="#">三連</a></li>

<li class="ouID"><a href="#">關(guān)注</a></li>

</ul>

</body>

</html>


案例3:制作一個(gè)一級(jí)菜單,聲明1個(gè)div,鼠標(biāo)移動(dòng)到每個(gè)ul時(shí)給div賦值,有多少子節(jié)點(diǎn)、元素節(jié)點(diǎn)、屬性節(jié)點(diǎn)和文本節(jié)點(diǎn)

方法一:

<!DOCTYPE html>

<html>


<head>

<meta charset="utf-8" />

<title></title>


<style>

ul {

list-style: none;

width: 666px;

height: 23px;

margin: 0px auto;

text-align: center;

}


ul li {

float: left;

width: 100px;

background-color: yellow;

}


ul li a {

text-decoration: none;

}


div {

width: 200px;

height: 200px;

border: 1px solid red;

margin: 0px auto;

}

</style>

<script>

window.onload = function() {

// ulFirstNeiRong: ul第一個(gè)內(nèi)容

var ulFirstNeiRong = document.getElementsByTagName("ul")[0];


// divAllNeiRong: div所有內(nèi)容

var divAllNeiRong = ulFirstNeiRong.nextElementSibling;

ulFirstNeiRong.onmouseover = function() {


//用.childNodes.length獲取子節(jié)點(diǎn)數(shù)組總長(zhǎng)度,1個(gè)長(zhǎng)度代表1個(gè)

var ziJieDanShuZuZongChangDu = ulFirstNeiRong.childNodes.length;

//用.children.length獲取元素節(jié)點(diǎn)數(shù)組總長(zhǎng)度,1個(gè)長(zhǎng)度代表1個(gè)

var yuanSuJieDianShuZuZongChangDu = ulFirstNeiRong.children.length;

//用.attributes.length獲取屬性節(jié)點(diǎn)數(shù)組總長(zhǎng)度,1個(gè)長(zhǎng)度代表1個(gè)

var shuXingJieDianShuZuZongChangDu = ulFirstNeiRong.attributes.length;

//用.childNodes獲取文本節(jié)點(diǎn)數(shù)組總長(zhǎng)度,1個(gè)長(zhǎng)度代表1個(gè)


var wenBenJieDianShuZuZongChangDu = 0;

//先用..childNodes獲取它所有的節(jié)點(diǎn)內(nèi)容,

// 在用nodeType判斷它所有節(jié)點(diǎn)的類(lèi)型,如果是3就是文本節(jié)點(diǎn)

var allJieDianShuZu = ulFirstNeiRong.childNodes;

for(var i of allJieDianShuZu) {

if(i.nodeType == 3) {

wenBenJieDianShuZuZongChangDu++;

}


}

divAllNeiRong.innerHTML = "子節(jié)點(diǎn)" + ziJieDanShuZuZongChangDu?

+ "個(gè)<br>元素節(jié)點(diǎn)"

+ yuanSuJieDianShuZuZongChangDu +

"個(gè)<br>屬性節(jié)點(diǎn)" + shuXingJieDianShuZuZongChangDu + "個(gè)<br>文本節(jié)點(diǎn)"?

+ wenBenJieDianShuZuZongChangDu + "個(gè)";

}

}

</script>

</head>


<body>

<!--若注釋在ul里面也會(huì)被算入子節(jié)點(diǎn),文本節(jié)點(diǎn)-->

<ul>


<li>

<a href="#">詩(shī)書(shū)畫(huà)唱</a>

</li>

<li>

<a href="#">UP主</a>

</li>

<li>

<a href="#">三連</a>

</li>

<li>

<a href="#">關(guān)注</a>

</li>

</ul>

<div></div>


</body>


</html>

這里是只算ul以?xún)?nèi)的節(jié)點(diǎn):

方法二:


案例4:輪播圖


<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<script>


//用window.寫(xiě)一個(gè)圖片的路徑的數(shù)組imgShuZu

window. onload=function(){

//使用window. 這個(gè)聲明表示是全局變量

window. imgShuZu=[" ./img/1.jpg","./img/2.jpg","./img/3.jpg"];

//使用window. 寫(xiě)一個(gè)全局變量用來(lái)控制圖片的下標(biāo)。indexXiaBiao:索引下標(biāo)

window. indexXiaBiao=0;

window. img=document. getElementsByTagName("img")[0];

window. start=null;

//因?yàn)槭髽?biāo)移入的時(shí)候應(yīng)該停止輪播,所以用上clearInterval,來(lái)清除

//clearInterval() 方法可取消由 setInterval() 函數(shù)設(shè)定的定時(shí)執(zhí)行操作。

//

//clearInterval() 方法的參數(shù)必須是由 setInterval() 返回的 ID 值。

//

//注意: 要使用 clearInterval() 方法, 在創(chuàng)建執(zhí)行定時(shí)操作時(shí)要使用全局變量:

window.img.onmouseover=function(){

clearInterval(window. start);}

//因?yàn)橐瞥龅臅r(shí)侯要繼續(xù)輪播,所以用setInterval

//setInterval() 方法可按照指定的周期(以毫秒計(jì))

//來(lái)調(diào)用函數(shù)或計(jì)算表達(dá)式。

//setInterval() 方法會(huì)不停地調(diào)用函數(shù),直到 clearInterval()?

//被調(diào)用或窗口被關(guān)閉。

//由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數(shù)。

//

//提示: 1000 毫秒= 1 秒。

//

//提示: 如果你只想執(zhí)行一次可以使用 setTimeout() 方法。

window. img . onmouseout=function(){

//setInterval會(huì)一直執(zhí)行某個(gè)內(nèi)容,它有2個(gè)參數(shù),

//第一個(gè)參數(shù)執(zhí)行的是函數(shù),第二個(gè)執(zhí)行的是參數(shù)時(shí)間

window. start=setInterval(gaiBianFunction,666);

}

}

//用if判斷寫(xiě)一個(gè)改變圖片背景的函數(shù),gaiBianFunction:改變函數(shù)。

function gaiBianFunction(){

//用indexXiaBiao用來(lái)控制數(shù)組的下標(biāo), 如果大于2,下標(biāo)賦值為0,達(dá)到循環(huán)的效果

if (window. indexXiaBiao<=2){

indexXiaBiao++;

}

//下面用的是if不是else if,因?yàn)橛昧薳lse后第一個(gè)if中的內(nèi)容

//會(huì)在下標(biāo)大于2時(shí)不執(zhí)行,但為了循環(huán)而兩個(gè)if并列用,

//第二個(gè)下標(biāo)為0后又會(huì)回到第一個(gè)if,

//第一個(gè)if下標(biāo)大于2時(shí)會(huì)到第二個(gè)if中去

?if(window. indexXiaBiao>2){

indexXiaBiao=0;

}

window. img. src=window. imgShuZu [window. indexXiaBiao];

}



</script>

</head>

<body>

<img src="./img/1.jpg" width="666px" height="666px" />

</body>

</html>

我寫(xiě)的注釋幾乎都有我自己嘗試,思考,總結(jié)的助于理解的內(nèi)容:


擴(kuò)展:


JS作業(yè):簡(jiǎn)易輪播圖個(gè)人圖析讓你徹底弄懂各種節(jié)點(diǎn)的定義的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
中阳县| 西乌| 海阳市| 扶风县| 凤凰县| 沂南县| 南丰县| 镇宁| 边坝县| 德阳市| 延寿县| 赤水市| 巴彦县| 新晃| 合山市| 神农架林区| 庆元县| 广河县| 莫力| 舟山市| SHOW| 阿瓦提县| 颍上县| 金门县| 松潘县| 彝良县| 虎林市| 襄樊市| 中阳县| 左云县| 芦山县| 顺义区| 聂拉木县| 太仆寺旗| 东至县| 杭锦后旗| 布尔津县| 和田县| 江永县| 佳木斯市| 大足县|