7 回答

TA貢獻361條經(jīng)驗 獲得超191個贊
問題并不出在頁面加載順序上,加上window.onload還是不能執(zhí)行的原因是因為window.onload=function(){}寫了后,相當于將所有JS放到一個window.onload這個局部作用域中;
而你的代碼setInterval("scrollUp()",speed),這么寫叫做字符串寫法,其中scrollUp這個函數(shù)必須在全局作用域中才可以被讀??;所以當你加了window.onload以后,scrollUp就相當于放在局部作用域中,所以無法讀??;
2種解決辦法:
1、如你現(xiàn)在一樣,放到</body>之前;
2、改成setInterval(scrollUp,speed)這么寫,這樣既可以讀取全局作用域中函數(shù),也可以讀取局部作用域中函數(shù);當改成這么寫后,你再去加上window.onload就沒問題了

TA貢獻361條經(jīng)驗 獲得超191個贊
html:
<script?src="xxx.js"></script>?//引用; //引用后,本頁面不能有window.onload,否則會覆蓋
xxx.js:
window.onload=function(){ //XXXX具體代碼 //最后scrollUp不要用字符串寫法 }

TA貢獻2條經(jīng)驗 獲得超1個贊
朋友,你就不能把代碼放到專門的.js文件里面嗎,然后在head里面寫上<script type="text=javascript" src="存放的路徑,絕對/相對路徑都可以"><script>
在js文件里寫上 ?window.onload=function(){
????????你完美的js代碼塊;
}
-----------------搞定收工。

TA貢獻6條經(jīng)驗 獲得超7個贊
主要是先加載和后加載的區(qū)別。
放在head中的JS代碼會在頁面加載完成之前就讀取,而放在body中的JS代碼,會在整個頁面加載完成之后讀取
如果JavaScript腳本寫在head標簽里面,那么需要用window.onload起到一個延遲加載的作用。
如果JavaScript腳本寫在body里面,也要看具體位置。如果寫在body里面,一般都是寫在了body標簽的最后面。
添加回答
舉報