急求 !!!div 文字滚动变慢

蔡少松 2012-11-06 05:46:51
我用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>    
<% }
}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>



帮忙解决下,或者用别的方式能实现文字横向滚动只要不减速的都可以,谢谢
...全文
157 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
蔡少松 2012-11-08
  • 打赏
  • 举报
回复
引用 2 楼 mxy906975387 的回复:
setInterval设置存在不合理。横行滚动其实也没必要那么麻烦,只需用“MARQUEE”就可以了!
这个是好,我也可以实现无间断滚动,但是问题是它相比div 没有那么平滑,滚动起来会有类似的抖动!有好一点的招没,谢谢!!!
心梦缘-雪雁 2012-11-08
  • 打赏
  • 举报
回复
setInterval设置存在不合理。横行滚动其实也没必要那么麻烦,只需用“MARQUEE”就可以了!
chen_ya_ping 2012-11-06
  • 打赏
  • 举报
回复
setInterval 这个 间隔15毫秒 好小啊,一般推荐的间隔都要是25毫秒的,而且一般最好是settimeout来替代 setInterval 

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧