這么寫的弊端到底在哪里?。?/h1>
<script?type="text/javascript">
???var?moocBox=document.getElementById('moocBox'),
???????con1=document.getElementById('con1'),
???????con2=document.getElementById('con2'),
???????iheight=24,
???????speed=50,
???????delay=2000;
???
???con2.innerHTML=con1.innerHTML;
???var?timer=setInterval('scrollin()',speed);
???function?scrollin(){
???????if(moocBox.scrollTop==con1.offsetHeight){
????????????moocBox.scrollTop=0;
????????????}
???????else{
????????????moocBox.scrollTop++;
???????}
???????if(moocBox.scrollTop%iheight?==0){
????????????clearInterval(timer);
???????}
???????setTimeout('scrollin()',?delay);
???????}
</script>
新人,求輕拍。
js代碼如上,主要是在原來無縫循環(huán)的基礎(chǔ)上加上delay判斷條件,再利用setTimeout的delay以及循環(huán)實(shí)現(xiàn)動作,測試可行,但在運(yùn)行一段時(shí)間之后動作流暢度就會變的很差,safari上不明顯,Chrome特別明顯,為什么,到底有啥bug?
<script?type="text/javascript"> ???var?moocBox=document.getElementById('moocBox'), ???????con1=document.getElementById('con1'), ???????con2=document.getElementById('con2'), ???????iheight=24, ???????speed=50, ???????delay=2000; ??? ???con2.innerHTML=con1.innerHTML; ???var?timer=setInterval('scrollin()',speed); ???function?scrollin(){ ???????if(moocBox.scrollTop==con1.offsetHeight){ ????????????moocBox.scrollTop=0; ????????????} ???????else{ ????????????moocBox.scrollTop++; ???????} ???????if(moocBox.scrollTop%iheight?==0){ ????????????clearInterval(timer); ???????} ???????setTimeout('scrollin()',?delay); ???????} </script> 新人,求輕拍。 js代碼如上,主要是在原來無縫循環(huán)的基礎(chǔ)上加上delay判斷條件,再利用setTimeout的delay以及循環(huán)實(shí)現(xiàn)動作,測試可行,但在運(yùn)行一段時(shí)間之后動作流暢度就會變的很差,safari上不明顯,Chrome特別明顯,為什么,到底有啥bug?
2018-09-11
scrollin這個(gè)函數(shù)? 在定時(shí)器里每50ms執(zhí)行一次? 里邊你定義了一個(gè)setTimeout? ?也就是每50ms就會開啟一次延時(shí),時(shí)間長了 不是說網(wǎng)頁變卡? 是延遲的時(shí)間再增加? 剛開始是2s+50ms? 時(shí)間長了就是3s? 4s? 你就會感覺明顯?
我沒測試你這段代碼? 不知道你是有個(gè)else沒寫 還是其它什么原因?