亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于代碼不執行的問題

我測試發現當js腳本放在div上方,沒有效果,放在最下放才會有滾動效果,這是為什么呢?

正在回答

2 回答

從上到下執行的,js放div上獲取不到div,可以加window.onload

1 回復 有任何疑惑可以回復我~
#1

qq_不凈蓮華_03851634 提問者

我用了外部引入的方式<script src...>的方式,也用了.window.onload事件,也是沒有用的,這是怎么一回事?
2017-02-08 回復 有任何疑惑可以回復我~
#2

慕碼人1478975 回復 qq_不凈蓮華_03851634 提問者

貼代碼看看
2017-02-08 回復 有任何疑惑可以回復我~
#3

qq_不凈蓮華_03851634 提問者 回復 慕碼人1478975

<script type='text/javascript' src='js/scroll.js'></script> window.onload=function() { var area=document.getElementById('mainBox'); var time=50; area.scrollTop=0; setInterval('area.scrollTop++',time); } 由于回復字數限制只貼了部分代碼,你看看
2017-02-09 回復 有任何疑惑可以回復我~
#4

慕碼人1478975 回復 qq_不凈蓮華_03851634 提問者

setInterval中的代碼必須在全局作用域能訪問到,你這里的area是局部的,所以執行不了。
2017-02-09 回復 有任何疑惑可以回復我~
#5

qq_不凈蓮華_03851634 提問者 回復 慕碼人1478975

這里不算是閉包嗎?內部函數能訪問到外面的變量?
2017-02-10 回復 有任何疑惑可以回復我~
#6

qq_不凈蓮華_03851634 提問者

非常感謝!共勉
2017-02-10 回復 有任何疑惑可以回復我~
#7

qq_不凈蓮華_03851634 提問者 回復 慕碼人1478975

百度了一下,明白了,原來setInterval第一個參數是在引號內的話,它會自動調用eval()函數,這個函數是全局的而不能訪問eare這個局部變量,只需要將area.scrollTop++改成一個函數即可多謝了
2017-02-10 回復 有任何疑惑可以回復我~
查看4條回復

太棒了,就是這個原因,我說搞了半天都找不到哪里沖突呢,非常感謝!Id,id,

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
信息滾動效果制作
  • 參與學習       47740    人
  • 解答問題       333    個

萌妹子帶您快速學習滾動效果,掌握無縫滾動和歇間性滾動的制作方法

進入課程

關于代碼不執行的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號