|
主题: 帮忙解释一下?
|
 老张
职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
|
#12002/5/13 21:48:11
下面一段js我有些地方不太明白(注释是自己加的),帮忙解释一下: // -------------- // 自动滚屏js // --------------
locate = 0; //屏幕滚动的初始位置 roll=1; //滚动状态变量 flag=1; function scroller() { if (locate !=15000 && roll==1) //?? { locate++; //locate加1 scroll(0,locate); //scrool什么功能,前面的0什么意思? clearTimeout(timer); //?? var timer = setTimeout("scroller()",40); //设置定时 timer; //启动定时 } } function document_onmousedown() //按下鼠标停止滚动 { flag=0; roll=0; } function document_replayer() //通过网页的双击鼠标继续滚动 { roll=1; flag=1; scroller(); }
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#22002/5/13 21:54:10
老张好啊,刚才还在看你的文章呢,怎么跑到我这做客了。  (locate !=15000 && roll==1) 判断是否滚动至最底部和是否可以滚动 其实,设15000是不合理的,最好设为document.body.scrollHeight scroll(NumX,NumY)//滚动页面内容 NumX:横向滚动到位置(单位:像素) NumY:纵向滚动到位置(单位:像素) 0,就是无横向滚动。 clearTimeout(timer)//清除定时器,即停止滚动
编辑历史:[这消息被ridincal编辑过(编辑时间2002-05-13 22:04:49)] [这消息被ridincal编辑过(编辑时间2002-05-13 23:07:20)]
|
 老张
职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
|
#32002/5/13 22:38:20
呵呵,也要向你们学习吗  还有个问题没有解决: 这个js有以下问题不知如何解决? 例如窗口滚动中通过document_onmousedown() 停止滚动在 A点,这时手动向下滚动窗口到 B点,当双击鼠标通过document_replayer()继续滚动时,它不是接着 B点向下滚动,而是跳回到 A点后再继续滚动  我想这是窗口停止滚动时保存了 A点locate值的缘故,但是我不知道如何才能将继续滚动的起始点 B赋值给 locate? 这样能够实现接着当前的手动位置继续滚动吗?
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#42002/5/13 23:06:18
那就要使用scrollBy替代scroll:
roll=1; function scroller() { if (roll==1) { scrollBy(0,10); clearTimeout(timer); var timer = setTimeout("scroller()",40); //设置定时 } } function document_onmousedown() //按下鼠标停止滚动 { roll=0; } function document_replayer() //通过网页的双击鼠标继续滚动 { roll=1; scroller(); }
|
 老张
职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
|
#52002/5/13 23:15:27
谢谢ridincal兄,很好用
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#62002/5/13 23:18:01
呵呵,别客气,常来做客!
|