主题:  帮忙解释一下?

老张

职务:普通成员
等级: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
呵呵,别客气,常来做客!