日期:2014-05-17  浏览次数:20462 次

困扰了我两天的问题,一段很普遍的JS滚动,怎么用到我页面里就滚一半就停了?求高人指导!
在源码爱好者上找了一段很普遍的<li>列表文字滚动,在人家网站上运行代码没有任何问题,我用在我的页面上,所有参数都按照人家的来,可是JS滚动总是滚动一多半就停到那里了,我郁闷的找了两天的问题,依然没有什么进展,特发来让朋友们看看这是怎么回事?


这是HTML
<div id="gundong1" style="overflow:hidden;height:86px;width:252px;">
     <ul id="gundong2">
         <li><a href="#">热烈庆祝我校网站正式开通运行</a></li>
         <li><a>我校校长就当前就业形势发表讲话</a></li>
         <li><a>热烈庆祝我校网站正式开通运行</a></li>
         <li><a>热烈庆祝我校网站正式开通运行</a></li>
         <li><a>热烈庆祝我校网站正式开通运行</a></li>
         <li><a>热烈庆祝我校网站正式开通运行</a></li>
         <li><a>热烈庆祝我校网站正式开通运行</a></li>
         <li><a href="#">热烈庆祝我校网站正式开通运行</a></li>
         </ul>
         <div id="gundong3"></div>
         </div>

这是相关的CSS


#gundong2{
height:auto;
text-align:left;
}
#gundong3{
height:auto;
text-align:left;
}
#gundong2  li{
list-style-type:none;
height:22px;
background:url() no-repeat left center;
text-align:left;
text-indent:15px;
}
#gundong3  li{
list-style-type:none;
height:22px;
background:url() no-repeat left center;
text-align:left;
text-indent:15px;
}


这是JS:


speed = 60;
var gundong1 = document.getElementById("gundong1");
var gundong3 = document.getElementById("gundong3");
var gundong2 = document.getElementById("gundong2");
gundong3.innerHTML = gundong2.innerHTML;
function Marquee() {
    if (gundong3.offsetTop - gundong1.scrollTop <= 0)
        gundong1.scrollTop -= gundong2.offsetHeight;
    else {
        gundong1.scrollTop++;
    }
}
var MyMar = setInterval(Marquee, speed);
gundong1.onmouseover = function () { clearInterval(MyMar) }
gundong1.onmouseout = function () { MyMar = setInterval(Marquee, speed) }
JavaScript

------解决方案--------------------
一般停止是因为内容不够多,你的代码ie8 ff测试都没问题