已采納回答 / DLZer
因為onload事件處理函數執(zhí)行結束之后,其內部定義的屬性和方法也就無法再訪問了,而且,結尾處的“setTimeout()”方法傳入的第一個參數是一句調用方法的代碼,而不是一個匿名內部方法。嘗試一下,把startMove()和scrollUp()抽取出來,不要在onload事件的處理方法中定義,onload事件處理方法只用來執(zhí)行“setTimeout("startMove()",2000);”,開啟滾動效果?;蛘撸选皊crollUp()”定義為“startMove()”中的匿名內部方法,之后再把star...
2016-09-03
已采納回答 / rainy_li3676598
? time=setInterval("scrollUp()",speed);? area.scrollTop++;我昨天 問過一個搞前端的工程師, 他說setInterval 并不是for循環(huán)一樣, 不執(zhí)行完就不會跳出。setInterval ?只是在speed的時間內回調scrollUp這個函數, 所以相對機器時間來講,中間的間隔足夠再執(zhí)行其它語句, 所以你下面的area.scrollTop,基本上會和setInterval("scrollUp()",speed);同時執(zhí)行, 不同的是:area.sc...
2016-09-02
最新回答 / 李小希
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-...
2016-09-01
這一課講的邏輯非?;靵y,并且有講解錯誤的地方,如setTimeout 里面的 area.scrollTop++,并不是一直加1,而是只加1次,容易造成誤導
2016-08-28
老師講的有點復雜。我想這樣可以實現(xiàn)的:設一個大的定時器,每個2秒執(zhí)行一遍小定時器。小定時器里每50毫秒實現(xiàn)moveB.scrollTop+=1; 再執(zhí)行判斷:if(moveB.scrollTop%aheight==0){clearInterval(timer2);}
2016-08-26
理論上當li少到可以全部顯示在可視界面的話,偏移時的scrollTop永遠少于con1.scrollHeight。就達不到老師的判定條件:
if(moveB.scrollTop>=con1.scrollHeight){
moveB.scrollTop=0;
}else{
moveB.scrollTop+=1;
}
可以用console.log測試box.scrollTop和con.scrollHeight進行驗證。
我覺得把添加子結點放在定時器內,讓它不斷地產生新子結點,達到滾動的目的挺好的。
if(moveB.scrollTop>=con1.scrollHeight){
moveB.scrollTop=0;
}else{
moveB.scrollTop+=1;
}
可以用console.log測試box.scrollTop和con.scrollHeight進行驗證。
我覺得把添加子結點放在定時器內,讓它不斷地產生新子結點,達到滾動的目的挺好的。
2016-08-26