第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于window.onload的問題

關(guān)于window.onload的問題

qq_煙火里的塵埃_0 2016-08-18 10:17:37
一般把script放在body的最下方就可以獲取到body里的元素了,可是我做的這個(gè)選項(xiàng)卡效果把script放在body的最下面了,可是去掉window.onload之后,效果就出不來了,這是怎么回事<!DOCTYPE?html> <html> <head> ????<meta?charset="UTF-8"> ????<title>Title</title> ????<style> ????????*{ ????????????margin:0; ????????????padding:0; ????????????list-style-type:?none; ????????} ????????#container{ ????????????width:400px; ????????????height:250px; ????????????position:?relative; ????????} ????????#top?li{ ????????????width:100px; ????????????height:50px; ????????????float:?left; ????????} ????????#bottom?li{ ????????????width:400px; ????????????height:200px; ????????????position:?absolute; ????????????left:0; ????????????top:50px; ????????????display:?none; ????????} ????????.first{ ????????????background:?red; ????????} ????????.second{ ????????????background:?blue; ????????} ????????.third{ ????????????background:?purple; ????????} ????????.four{ ????????????background:?pink; ????????} ????????#bottom?li.first{ ????????????display:?block; ????????} ????</style> </head> <body> <div?id="container"> ????<ul?id="top"> ????????<li></li> ????????<li></li> ????????<li></li> ????????<li></li> ????</ul> ????<ul?id="bottom"> ????????<li></li> ????????<li></li> ????????<li></li> ????????<li></li> ????</ul> </div> <script> ????window.onload=?function?()?{ ????????var?top?=?document.getElementById("top"), ????????????top_li?=?top.getElementsByTagName("li"), ????????????bottom?=?document.getElementById("bottom"), ????????????bottom_li?=?bottom.getElementsByTagName("li"); ????????for?(var?i?=?0;?i<top_li.length;i++){ ????????????top_li[i].index?=?i; ????????????top_li[i].onclick?=?function(){ ????????????????for?(var?j?=?0;j<bottom_li.length;j++){ ????????????????????bottom_li[j].style.display?=?"none"; ????????????????} ????????????????bottom_li[this.index].style.display?=?"block"; ????????????}; ????????} ????} </script> </body> </html>
查看完整描述

3 回答

已采納
?
stone310

TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超191個(gè)贊

思路沒錯(cuò)的!問題出在top這個(gè)變量名字上,你會(huì)發(fā)現(xiàn)這一段程序在IE下能完美執(zhí)行,

因?yàn)閣indow.onload去掉后,變量為全局變量,而chrome和FF已經(jīng)把top這個(gè)變量定義了,所以不能再用top作為全局變量,你隨便換個(gè)名字都可以了

查看完整回答
反對(duì) 回復(fù) 2016-08-18
?
田心楓

TA貢獻(xiàn)1064條經(jīng)驗(yàn) 獲得超383個(gè)贊

去掉js都沒加載進(jìn)來,當(dāng)然不起作用

查看完整回答
反對(duì) 回復(fù) 2016-08-18
  • qq_煙火里的塵埃_0
    qq_煙火里的塵埃_0
    我放在最下面了,應(yīng)該加載進(jìn)來了啊
  • 田心楓
    田心楓
    window.onload=function(){}是指當(dāng)頁面全部加載完畢之后,再去執(zhí)行function(){}大括號(hào)中的代碼。 這樣寫是因?yàn)橐WC代碼執(zhí)行的時(shí)候,HTML的所有DOM節(jié)點(diǎn)已經(jīng)加載出來了。由于性能或者網(wǎng)絡(luò)問題,頁面的加載不是一瞬間完成的,是有一個(gè)時(shí)間過程的,比如你想用JS操作一張圖片的話,當(dāng)網(wǎng)頁讀取到這一段JS代碼的時(shí)候,圖片的DOM節(jié)點(diǎn)可能還沒有加載出來,瀏覽器就會(huì)報(bào)錯(cuò)。為了避免這種情況,所以要在window.onload事件觸發(fā)之后,再去執(zhí)行后面的function。 上面只是一個(gè)比較簡(jiǎn)單的解釋,更詳細(xì)的你可以查閱一下相關(guān)的資料,涉及到了瀏覽器的渲染機(jī)制、DOM的加載順序等等。
  • 田心楓
    田心楓
    不加這個(gè)的話,你function的代碼沒法執(zhí)行
  • 3 回答
  • 0 關(guān)注
  • 1636 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)