当前位置:首页 > 博客 >Javascript > 正文

scrollLeft++ 速度问题?

时间:2017-04-24 15:30   作者:admin   点击:

最近我在写一些自己常用的组件,在滚动图片组件时发现一个问题,一般图片滚动有两种方案:一个是定位用left top等来实现滚动,还有一种就是利用滚动本身来实现,就是我们看到的滚动条。第一种相对较简单,直接是根据绝对定位来实现的。第二种就是根据滚动距离实现的,

document.getElementById('silde').scrollLeft++ ;

利用定时器setInterval(); 来实现,但是你会发现图片滚动的速度没有想象的那么快,就算你把定时器时间改成0都很慢,后来想到,你本来就是循环+1,也就是一步一步加上去的。这本来就需要耗时间,在加上如果你的定时器还有时间,就更慢了,所以解决办法就是步长加大点 变成每次加10或者50等,当然还有一种就是直接用jq的anmate动画函数实现。


$(_cfg.mainID).parent().animate({
    scrollTop:$(_cfg.mainID + ' li').height()*x
 },_cfg.Interval);