if (currentpos != document.body.scrollTop)
sc() //要加();

解决方案 »

  1.   

    document.onmousedown=sc
    document.ondblclick=initialize
      

  2.   

    sc //为何不是sc();// sc();也可以

    document.onmousedown=sc //为何不能是sc();规定必须是个函数名,不要和HTML语法内的onmousedown混淆
    document.ondblclick=initialize//为何*加*括号();??
      

  3.   

    ------------------------------------------------------
    if (currentpos != document.body.scrollTop)
    sc //为何不是sc();
    ------------------------------------------------------
    写错了的,应该是 sc()。你在那里抄来的代码?
    这一句的意思是滚动到了页面底端就停止滚动,但是按他的写法并不会停止,你在滚到底端后用滚轮往上滚就可以看到它还会滚回来。
      

  4.   

    下面的函数调用为何不是sc();initialize();  
     
    <SCRIPT  language=JavaScript>//双击自动滚屏脚本!  
    var  currentpos,timer;    
    function  initialize()    
    {  
    timer=setInterval("scrollwindow()",1);  
    }    
    function  sc(){  
    clearInterval(timer);  
    }  
    function  scrollwindow()    
    {  
    currentpos=document.body.scrollTop;  window.scrollTo(0,++currentpos);    
    if  (currentpos  !=  document.body.scrollTop)  
    sc();  //为何要括号   
    document.onmousedown=sc    //为何不能是sc();  
    document.ondblclick=initialize   //为何不加括号();  
    </SCRIPT>
      

  5.   

    “sc()”表示调用sc函数
    “sc”表示sc这个函数对象
    “document.onmousedown=sc”表示把document的onmousedown事件指向sc函数对象,如果写成“document.onmousedown=sc()”就表示指向sc函数的返回对象了,如果这个函数能返回一个适当的函数对象也可以。试试:<SCRIPT  language=JavaScript>
    var  currentpos,timer;    
    function  initialize()    
    {  
    timer=setInterval("scrollwindow()",1);  
    }    
    function  sc(){  
    clearInterval(timer);  
    return sc;//加了这一句,就可以“document.onmousedown=sc()”了
    }  
    function  scrollwindow()    
    {  
    currentpos=document.body.scrollTop;  window.scrollTo(0,++currentpos);    
    if  (currentpos  !=  document.body.scrollTop)  
    sc(); 
    }
    document.onmousedown=sc()
    document.ondblclick=initialize
    </SCRIPT>