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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

為什么這個(gè)代碼去掉window.onload = function(){}就會出現(xiàn)錯誤呢?

為什么這個(gè)代碼去掉window.onload = function(){}就會出現(xiàn)錯誤呢?

<style type="text/css">

#contain{

height:477px;

position:relative;

margin:0 auto;

overflow: hidden;

border-right: 1px solid #ccc;

border-bottom: 1px solid #ccc;

}

img{

display: block;

position: absolute;

left:0;

border-left: 1px solid #ccc;

}

</style>

</head>

<body>

<div id='contain'>

<img src="img/door1.png" />

<img src="img/door2.png" />

<img src="img/door3.png" />

<img src="img/door4.png" />

</div>

<script type="text/javascript">

// window.onload = function(){

var imgs = document.getElementsByTagName('img');

var box = document.getElementById('contain');

var exploseWidth = 160;

var imgWidth = imgs[0].offsetWidth;

var boxWidth = imgWidth + (imgs.length-1) * exploseWidth;

box.style.width = boxWidth + 'px';

function startMove(){

for(var i=1;i<imgs.length;i++){

imgs[i].style.left = imgWidth + exploseWidth * (i-1) + 'px';

}

}

startMove();

// }

</script>

</body>


正在回答

3 回答

你試試將window.onload=function(){}去掉之后在控制臺打印console.log(imgWidth);是不是輸出為0?這個(gè)意思就是不加的話,js優(yōu)先于圖片加載

0 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)閖s加載順序是:css,html,js代碼加載(按照從上往下順序)—>頁面渲染 —>... —>最后是圖片的加載;

你這里是動態(tài)的對圖片位置進(jìn)行調(diào)整,如果不加window.onload,當(dāng)按照從上往下順序,當(dāng)讀取到j(luò)s代碼時(shí),圖片還未加載進(jìn)去,只是對<img>這個(gè)空的框架進(jìn)行位置調(diào)整;

而加了window.onload,就是頁面完全加載成功(包括圖片),這時(shí)代碼中imgWidth的值是不同的, 比原來的框架多了圖片的寬度;

可以不加window.onload,將代碼中var imgWidth = imgs[0].offsetWidth;改成var imgWidth="第一張圖片的寬度"進(jìn)行驗(yàn)證?

0 回復(fù) 有任何疑惑可以回復(fù)我~

window.onload是指基于頁面加載完成后才做的事情,若頁面沒加載完,滑動效果也就無法實(shí)現(xiàn)。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么這個(gè)代碼去掉window.onload = function(){}就會出現(xiàn)錯誤呢?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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