2017-06-16 49 views
0

我想模拟用户按下pagedown键 - 等待第二个(等待网页显示更多结果),模拟再次按下pagedown(等待网页显示更多)等。使用javascript向下滚动窗口

for(var s= 0;s< 5;s++){ 
window.scrollBy(0,500); // horizontal and vertical scroll increments 
setTimeout(function() {}, 1000); 
} 

它似乎只触发一次页面,很少/没有延迟。

在继续之前,我希望脚本在setTimeout处停止,并且不要执行其他任何操作。

任何意见将是巨大的,

谢谢,马克

+0

这不是它的工作原理;你的'setTimeout()'会等待一秒钟,然后调用你传递的空函数。在此之前,你已经到了循环的最后。如果你阻止了JS,你会阻止整个浏览器,所以我不会那样做。 –

回答

2

我想你想是这样的:

function scrollDown(num_times) { 
    num_times -= 1; 
    if (num_times === 0) { 
     return; 
    } 
    window.scrollBy(0,500); // horizontal and vertical scroll increments 
    setTimeout(function() { 
     scrollDown(num_times); 
    }, 1000); 
} 

scrollDown(5); // scroll down 5 times 

setTimeout功能需要得到你想要后执行功能延迟。

+0

非常感谢 - 完美的作品! –