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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

看JavaScript DOM編程藝術(shù)這本書,發(fā)現(xiàn)按照書上的敲的JS代碼無法實(shí)現(xiàn)功能,求指點(diǎn)問題出在哪(附代碼)?

看JavaScript DOM編程藝術(shù)這本書,發(fā)現(xiàn)按照書上的敲的JS代碼無法實(shí)現(xiàn)功能,求指點(diǎn)問題出在哪(附代碼)?

小布ever 2016-09-25 22:49:48
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title>Document</title> <script?type="text/javascript"?src="scripts/JSscript.js"></script> </head> <body> <div?id="prepareGallery"> <ul> <li><a?href="images/zhou_1.jpg"?title="zhou1">周杰倫1</a></li> <li><a?href="images/zhou_2.jpg"?title="zhou2">周杰倫2</a></li> <li><a?href="images/zhou_3.jpg"?onClick="showPic(this);return?false;"?title="zhou3">周杰倫3</a></li> </ul> <img?src="images/eg.jpg"?alt="my?image?gallery"?id="placeholder"?/> <p?id="description">choose?my?image</p> </div> </body> </html>window.onload=prepareGallery(); function?prepareGallery(){ if(!document.getElementsByTagName)?return?false; if(!document.getElementById)?return?false; if(!document.getElementById('prepareGallery'))?return?false; var?gallery=document.getElementById('prepareGallery'); var?links=gallery.getElementsByTagName('a'); for(var?i=0;i<links.length;i++){ links[i].onClick=function(){ return?!showPic(this); } } } function?showPic(whichpic){ if(!document.getElementById('placeholder'))?return?false; var?source=whichpic.getAttribute('href'); var?placeholder=document.getElementById('placeholder'); placeholder.setAttribute('src',source); if(document.getElementById('description')){ if(whichpic.getAttribute('title')){ var?text=whichpic.getAttribute('title'); }else{ var?text=""; } var?description=document.getElementById('description'); description.firstChild.nodeValue=text; } return?true; }上面是HTML和JS的代碼,在HTML代碼中,第一、第二張圖片無法實(shí)現(xiàn)功能,但是第三張圖片標(biāo)簽中添加了(onClick="showPic(this);return?false;")代碼才能實(shí)現(xiàn)這個功能,請教下上面的代碼哪里出現(xiàn)了問題,新人求助,萬分感謝!
查看完整描述

4 回答

已采納
?
qq_安逸_4

TA貢獻(xiàn)12條經(jīng)驗(yàn) 獲得超5個贊

錯誤有兩處:

首先:第一句改為window.onload=function(){prepareGallery();}或window.onload=prepareGallery;表示將prepareGallery函數(shù)綁定在window.onload,即在頁面加載完成后執(zhí)行prepareGallery函數(shù)。?

像你這樣寫表示:先執(zhí)行prepareGallery函數(shù),將返回結(jié)果賦給window.onload。

其次links[i].onclick=function(){}這句的onclick是小寫 ? ??

之所以沒有報錯是因?yàn)楫?dāng)寫成window.onload=prepareGallery();時執(zhí)行在html加載之前,沒有id為prepareGallery節(jié)點(diǎn),所以document.getElementById('prepareGallery')是無法找到的返回null,? 由于這句代碼if(!document.getElementById('prepareGallery')) return false;,使得prepareGallery()直接返回false,下面的代碼不會執(zhí)行,也就不會報錯,a標(biāo)簽沒有被綁定點(diǎn)擊事件,相當(dāng)于超鏈接,所以每次執(zhí)行都會打開一個新的網(wǎng)頁顯示制定圖片。



查看完整回答
1 反對 回復(fù) 2016-09-26
?
Forget_淡忘

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超0個贊

onclick小寫...

查看完整回答
反對 回復(fù) 2016-09-26
?
_辣子

TA貢獻(xiàn)12條經(jīng)驗(yàn) 獲得超2個贊

links[i].onclick=function(){}這句的onclick是小寫就可以了

查看完整回答
反對 回復(fù) 2016-09-26
?
小布ever

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個贊

HTML第六行鏈接JS文件的代碼沒問題,在Firefox和360安全瀏覽器中運(yùn)行都不行。。。

查看完整回答
反對 回復(fù) 2016-09-25
  • 4 回答
  • 0 關(guān)注
  • 2740 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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