Определение при прокрутке до конца страницы с JavaScript

Я пытаюсь определить, когда я прокрутил к концу страницы (не пользуясь никакой библиотекой JS), но до сих пор, я немного смущен по поводу который одно из следующих использовать. Самый многообещающий, который я видел, window.scrollY, но, даже когда прокручено до конца страницы, это никогда не соответствует значению window.innerHeight. Что лучший способ состоит в том, чтобы сделать это?

window.innerWidth
window.innerHeight

window.outerWidth
window.outerHeight

window.scrollX
window.scrollY

document.body.scrollWidth
document.body.scrollHeight
document.body.scrollTop
document.body.scrollLeft

document.body.offsetTop
document.body.offsetLeft
document.body.offsetWidth
document.body.offsetHeight
19
задан Steve Tauber 16 July 2012 в 20:54
поделиться

2 ответа

если window.innerHeight + document.body.scrollTop больше или равно document.body.offsetHeight, то вы находитесь внизу

но так как IE имеет проблемы с этими свойствами, вам нужно использовать альтернативные свойства, например

document. documentElement.scrollTop для прокрутки и document.documentElement.clientHeight для высоты окна

полный код: http://jsbin.com/egegu3/6/edit

26
ответ дан 30 November 2019 в 03:52
поделиться

Поскольку в душе я ленив, я бы поместил элемент в самый низ DIV и применил элемент " в поле зрения "плагин jQuery. (Заявление об отказе от ответственности: у меня нет собственного опыта, но он выглядит неплохо.)

Небольшой вариант примера из записи в блоге:

$('#bottomDIV').bind('inview', function (event, visible) {
  if (visible == true) {
    // element is now visible in the viewport
    highlightButtons(); // or whatever you want to do in the context
  }
});
6
ответ дан 30 November 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: