注册 登录
编程论坛 JavaScript论坛

纵向滚动新闻滚动一段时间后停止了?

cssart 发布于 2010-08-05 11:13, 764 次点击
各位好!

请看下面的代码,单独保存为一个文件时测试正常,但是加在我的页面中就有了问题,滚动一段时间后自动停止了,请帮帮我:

<script type="text/javascript">
window.onload = function(){
    var speed=40; //数字越大速度越慢
    var tab=document.getElementById("demo");
    var tab1=document.getElementById("demo1");
    var tab2=document.getElementById("demo2");
    tab2.innerHTML=tab1.innerHTML; //克隆demo1为demo2
    function Marquee(){
    if(tab2.offsetTop-tab.scrollTop<=0)//当滚动至demo1与demo2交界时
    tab.scrollTop-=tab1.offsetHeight //demo跳到最顶端
    else{
    tab.scrollTop++
    }
    }
    var MyMar=setInterval(Marquee,speed);
    tab.onmouseover=function() {clearInterval(MyMar)};//鼠标移上时清除定时器达到滚动停止的目的
    tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};//鼠标移开时重设定时器
}
</script>

<div id="demo">
<div id="demo1">
<ul>
<li><a href="">新闻标题</a></li>                              
</ul>
</div>
<div id="demo2"></div>
</div>
2 回复
#2
qingshuiliu2010-08-05 14:54
看的代码没有什么问题,
我猜想你的页面中有AJAX异步回发,这种情况下
就有可能导致这个问题,建议不要用异步的,用一般的回发。
#3
gupiao1752010-08-05 16:57
另外再注意检查下,上下文中,变量名是否有问题,可以用FF的FIREBUG查看下,各变量,调试JS方便些!
1