實現(xiàn)上下滾動的跑馬燈效果, 代碼如下:var scroll = function() { //選擇列表中的第一個元素 var elem = document.querySelectorAll('.infolist li')[0]; //記錄其高度 var height = elem.offsetHeight; setTimeout(function callMeAnony() { //如果高度不為0 if(height){ //減少元素的高度以便讓后面的元素頂上來, 同時再設(shè)定一個Timeout直到元素的高度為0 height -= 3; elem.style.height = height + 'px'; setTimeout(callMeAnony, 200); }else{ //如果元素的高度已經(jīng)為0, 則將元素挪到最后一位并恢復(fù)原來的高度 elem.parentNode.appendChild(elem); elem.style.height = elem.previousElementSibling.offsetHeight + 'px'; } }, 200);}; //每3秒執(zhí)行一次setInterval(scroll, 3000); 這段代碼在電腦上執(zhí)行得很好, 但在手機端就出問題了。 在微信里動畫只在3秒后執(zhí)行了一次就停在那里了。求解!已解決, 其原因是if(height){這段在PC端height是30, 但在手機端就不一定了。由于height以3遞減, 這會導(dǎo)致height直接跳過height=0, 一直執(zhí)行下去解決方案很簡單, if(height >= 0){既可.
為什么這個setInterval只在手機端執(zhí)行了一次
DIEA
2018-08-07 09:09:47