/* 滾動 */
roll(50);
function roll(t) {
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
ul2.innerHTML = ul1.innerHTML;
ulbox.scrollTop = 0;
var timer = setInterval(rollStart, t);
ulbox.onmouseover = function() {
clearInterval(timer);
}
// 滑鼠移出div后繼續滾動
ulbox.onmouseout = function() {
timer = setInterval(rollStart, t);
}
}
// 開始滾動函式
function rollStart() {
// 上面宣告的DOM物件為區域物件需要再次宣告
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
if (ulbox.scrollTop > ul1.scrollHeight) {
ulbox.scrollTop = 0;
} else {
ulbox.scrollTop++;
}
}
/*滾動結束*/
這是一個表格向上回圈滾動的js,一般情況下,沒什么問題,滑鼠移入也可以停止滾動,但是有的時候,滑鼠放在內容里,多重繪幾次,會出現滑鼠移入無法停止滾動事件的情況,滾動的速度是稍微變慢了一點,實在不知道具體什么原因
uj5u.com熱心網友回復:
在線等。。。。uj5u.com熱心網友回復:
你把onmouseover和onmouseout改成onmouseenter、onmouseleave。onmouseover和onmouseout會被子元素觸發uj5u.com熱心網友回復:
感謝回答,但是還是有這個情況,移入無法停止滾動事件uj5u.com熱心網友回復:
設定定時器的時候 先清空一次 clearInterval(timer); 按正常情況 over和out 會交替執行 但是有時候可能會例外;setInterval之前 先執行一次 clearInterval(timer) 應該就可以uj5u.com熱心網友回復:
timer判斷下啊,null才setInterval轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/167318.html
標籤:JavaScript
下一篇:初學前端一個小問題
