javascript之循环停顿上下滚动
人气:0
extractNodes函数解决各浏览器的节点计算问题。FireFox把换行符也算成一个节点,很不合理啊。
先用appendChild复制前面的四个节点到底部,使得头尾是一样的内容,以作后用。记得做flash补间循环运动的时候就是这样要头尾一样。
通过setInterval隔时运行rolltxt函数。
rolltxt函数首先计算的是间隔停顿的高度,滚动多高就要停顿一下,这个高度我也不知道怎么算出来的,跟CSS有关系,我是试出来的
用求余数的方法可以判断是否已经滚过了所设的间隔高度。如果余数不等于0就继续加1滚动。如果余数为0说明已经滚动了所设的间隔高度,要在这里停顿了。
设一个变量settime来计算时间,加到50的时候settime清零,滚动继续,这个50我没算过单位是什么,反正随我高兴。
差不到这样已经能停顿滚动了,但是还有一个问题,没有限定最高值,滚动一直滚啊滚啊,当然是会出毛病了。滚到哪再重头开始滚好呢?当然是滚到尾部跟头一样位置的时候,网页高度减去可见高度就对了,为什么这么算?这个自己比划比划就知道了。
循环停顿上下滚动已经大功告成了,不信你试试
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
先用appendChild复制前面的四个节点到底部,使得头尾是一样的内容,以作后用。记得做flash补间循环运动的时候就是这样要头尾一样。
通过setInterval隔时运行rolltxt函数。
rolltxt函数首先计算的是间隔停顿的高度,滚动多高就要停顿一下,这个高度我也不知道怎么算出来的,跟CSS有关系,我是试出来的
用求余数的方法可以判断是否已经滚过了所设的间隔高度。如果余数不等于0就继续加1滚动。如果余数为0说明已经滚动了所设的间隔高度,要在这里停顿了。
设一个变量settime来计算时间,加到50的时候settime清零,滚动继续,这个50我没算过单位是什么,反正随我高兴。
差不到这样已经能停顿滚动了,但是还有一个问题,没有限定最高值,滚动一直滚啊滚啊,当然是会出毛病了。滚到哪再重头开始滚好呢?当然是滚到尾部跟头一样位置的时候,网页高度减去可见高度就对了,为什么这么算?这个自己比划比划就知道了。
循环停顿上下滚动已经大功告成了,不信你试试
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
加载全部内容