我用div实现 文字滚动,刚开始OK,但是到后面越来越慢,是什么原因,各位大大,急~~~~~~这是我的代码:<div id="scrollobj"  style="white-space:nowrap;overflow:hidden;width:550px;">
<%
try{
List newsList=getRollData();
    for(int j=0;j<newsList.size();j++)
   {
WebNews wn=(WebNews)newsList.get(j);
int number=j;
%>
<a class=' hand' target='_blank'  title='<%=wn.getTitle()%>' onclick='top.Dialog.open({URL:"WebNewsShowAction_viewNews.yt?type=viewNews&entity.id=<%=wn.getId()%>",Width:800,Height:500,Title:"查看新闻"});' ><font color='#FFFFFF'><%=number+1%>.<%=wn.getTitle()%></font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<%  }
}catch(Exception e){
e.printStackTrace();
}%>
</div><script>
//横向滚动新闻
function scroll(obj) {
var tmp = (obj.scrollLeft)++;
//当滚动条到达右边顶端时
//if(tmp == 0) return;//文字不超过容器宽度则不滚动
if (obj.scrollLeft==tmp) obj.innerHTML += obj.innerHTML;
//当滚动条滚动了初始内容的宽度时滚动条回到最左端
//if (obj.scrollLeft>=obj.firstChild.offsetWidth) obj.scrollLeft=0;
setInterval("scroll(document.getElementById('scrollobj'))",15);
}
var isscroll=setInterval("scroll(document.getElementById('scrollobj'))",15);
document.getElementById('scrollobj').onmouseover = function(){ clearInterval(isscroll) }
document.getElementById('scrollobj').onmouseout = function(){ isscroll=setInterval("scroll(document.getElementById('scrollobj'))",15) }
</script>帮忙解决下,或者用别的方式能实现文字横向滚动只要不减速的都可以,谢谢

解决方案 »

  1.   

    setInterval 这个 间隔15毫秒 好小啊,一般推荐的间隔都要是25毫秒的,而且一般最好是settimeout来替代 setInterval 
      

  2.   

    setInterval设置存在不合理。横行滚动其实也没必要那么麻烦,只需用“MARQUEE”就可以了!
      

  3.   

    这个是好,我也可以实现无间断滚动,但是问题是它相比div 没有那么平滑,滚动起来会有类似的抖动!有好一点的招没,谢谢!!!