2014-03-30 63 views
1

即时消息这个问题约2天左右,仍然找不到解决方案,所以我不得不在这里..我有parallex网站,我想当用户向下滚动(这一点是功能性的)时开始自动滚动整个网站,并且当用户向上滚动时,自动滚动停止。但是,然后,当用户再次向下滚动时,它应当以相同速度(相同超时)再次开始自动滚动beggining,但每次用户向上和向下滚动,自动滚屏越来越快......jQuery/JS当用户向上滚动并继续向上滚动时,使自动滚动停止

这里是我的代码

<script> 
    var act = 0; 
    var y = 0; 
    var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel as of FF3.x 
    $(window).bind(mousewheelevt, function(e){ 

     var evt = window.event || e //equalize event object  
     evt = evt.originalEvent ? evt.originalEvent : evt; //convert to originalEvent if possible    
     var delta = evt.detail ? evt.detail*(-40) : evt.wheelDelta //check for detail first, because it is used by Opera and FF 

     if(delta > 0) { 
      console.log('nahoru stop y=0 act=0'); 
      y = 0; 
      pageScrollStart(y); 
      act = 0; 
     } 
     else{ 

      if(act==1) 
      { 
       console.log('dolu aktivni nic'); 
      } 
      else 
      { 
       console.log('dolu neaktivni start y=1 act=1'); 
       y = 1; 
       pageScrollStart(y); 
       act = 1; 
      } 
      } 

    }); 
      function pageScrollStart() { 
       window.scrollBy(0,y); 
       scrolldelay = setTimeout('pageScrollStart()',50); 
      }; 

    </script> 

回答

0

解决..我只是不知道有关函数“clearTimeout”

所以现在看起来是这样的:

 <script> 
    var act = 0; 
    var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel as of FF3.x 
    $(window).bind(mousewheelevt, function(e){ 

     var evt = window.event || e //equalize event object  
     evt = evt.originalEvent ? evt.originalEvent : evt; //convert to originalEvent if possible    
     var delta = evt.detail ? evt.detail*(-40) : evt.wheelDelta //check for detail first, because it is used by Opera and FF 

     if(delta > 0) { 
      pageScrollStop(); 
      console.log('nahoru stop'); 
      act = 0; 
     } 
     else{ 
      if(act !== 1) 
      { 

       pageScrollStart(); 
       console.log('dolu start'); 
       act = 1; 
      } 
      } 

    }); 
      function pageScrollStart() { 
       window.scrollBy(0,1); 
       scrolldelay = setTimeout('pageScrollStart()',50); 
      }; 
      function pageScrollStop(){ 
       clearTimeout(scrolldelay); 
      } 
    </script> 
相关问题