87,992
社区成员
发帖
与我相关
我的任务
分享 <div id="demo">
<script>
var speed = 50;
var tab = document.getElementById('demo');
var tab1 = document.getElementById('demo1');
var tab2 = document.getElementById('demo2');
tab2.innerHTML = tab1.innerHTML;
function Marquee() {
if (tab2.offsetWidth - tab.scrollLeft <= 0)
tab.scrollLeft -= tab1.offsetWidth
else {
tab.scrollLeft++;
}
}
var MyMar = setInterval(Marquee, speed);
tab.onmouseover = function() {
clearInterval(MyMar)
};
tab.onmouseout = function() {
MyMar = setInterval(Marquee, speed)
}; </script>
function Marquee() {
if (tab2.offsetWidth - tab.scrollLeft <= 0) //tab2.offsetWidth:tab2的实际宽度,当tab.scrollLeft等于tab2.offsetWidth的时候说明tab1已经全部滚完了,于是回归原点
tab.scrollLeft -= tab1.offsetWidth//回归原点。其实这里写成tab.scrollLeft=0应该也是一样的,正常情况下tab2跟tab1是完全一样的。
else {
tab.scrollLeft++;//否则tab里的内容一直向左滚动。
}
}
不明白