Тот же вопрос отвечает в jQuery, но я ищу решение без jQuery. Откуда вы знаете, что полоса прокрутки достигла нижней части страницы
Я хотел бы знать , как я могу определить, достиг ли вертикальная полоса прокрутки до нижней части веб-страницы.
Я использую Firefox3.6
Я написал простой цикл Javascript для прокрутки вниз на 200 пикселей, и когда полоса прокрутки достигла нижней части страницы, я хочу остановить цикл.
Проблема scrollHeight() возвращает 1989.
И внутренний цикл scrollTop увеличивается на 200 за итерацию.
200 ==> 400 ==> 600 .... 1715
И с 1715 года он не будет увеличиваться, чтобы этот цикл продолжался навсегда.
Похоже, scrollHeight() и scrollTop() не подходят для сравнения, чтобы определить фактическое положение полосы прокрутки? Как узнать, когда цикл должен остановиться?
код:
var curWindow = selenium.browserbot.getCurrentWindow();
var scrollTop = curWindow.document.body.scrollTop;
alert('scrollHeight==>' + curWindow.document.body.scrollHeight);
    while(curWindow.document.body.scrollHeight > curWindow.document.body.scrollTop) {
      scrollTop = curWindow.document.body.scrollTop;
      if(scrollTop == 0) { 
        if(window.pageYOffset) { //firefox
          alert('firefox'); 
          scrollTop = window.pageYOffset; 
        } 
        else { //IE
          alert('IE'); 
          scrollTop = (curWindow.document.body.parentElement) ? curWindow.document.body.parentElement.scrollTop : 0; 
        } 
      } //end outer if
      alert('current scrollTop ==> ' + scrollTop);
      alert('take a shot here'); 
      selenium.browserbot.getCurrentWindow().scrollBy(0,200);
    } //end while