2014-10-29 113 views
0

我知道scrollBy函數,但是可以使用JavaScript控制檯中鍵入的命令向下滾動網頁,以便頁面自動使用傳遞的參數進行滾動?在瀏覽器中使用JavaScript控制檯進行自動滾動

鍵入功能

function pageScroll() { 
    window.scrollBy(0,50); // horizontal and vertical scroll increments 
    scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds 
} 

,然後調用它沒有在Chrome中。

+0

適合我。 – gdoron 2014-10-29 13:40:00

+0

你真的調用過這個函數嗎?它也適用於我 – Markai 2014-10-29 13:43:07

+0

好吧,我打電話給方法之前打入輸入。 – Muteking 2014-10-29 13:53:17

回答

0

它可能會顯示一條錯誤"too much recursion"

你應該嘗試setInterval(),而不是setTimeout()。檢查這個示例代碼。

setInterval(function(){ 
     window.scrollBy(0,50); 
    },100); 
1

試試這個;我經常自己使用它。

(function() { 
    var intervalObj = null; 
    var retry = 0; 
    var clickHandler = function() { 
     console.log("Clicked; stopping autoscroll"); 
     clearInterval(intervalObj); 
     document.body.removeEventListener("click", clickHandler); 
    } 
    function scrollDown() { 
     var scrollHeight = document.body.scrollHeight, 
      scrollTop = document.body.scrollTop, 
      innerHeight = window.innerHeight, 
      difference = (scrollHeight - scrollTop) - innerHeight 

     if (difference > 0) { 
      window.scrollBy(0, difference); 
      if (retry > 0) { 
       retry = 0; 
      } 
      console.log("scrolling down more"); 
     } else { 
      if (retry >= 3) { 
       console.log("reached bottom of page; stopping"); 
       clearInterval(intervalObj); 
       document.body.removeEventListener("click", clickHandler); 
      } else { 
       console.log("[apparenty] hit bottom of page; retrying: " + (retry + 1)); 
       retry++; 
      } 
     } 
    } 

    document.body.addEventListener("click", clickHandler); 

    intervalObj = setInterval(scrollDown, 1000); 

})() 
相關問題