Есть такой код, который говорит, что при скроллинге скролл достигнул конца страницы.
$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height())
console.log('hey!');
});
Нормально работает.
Но на десктопной версии событие не обрабатывается, если страница не имеет скролла (свойство overflow не учитывается в условии, очевидно, но и не надо).
А нужно отрабатывать всегда, есть он или нет, при скроллинге страницы.
Как сделать код универсальнее под эту ситуацию? Также прошу подумать о мобильном скроллинге. Отлавливать конкретно колёсико было бы не лучшим решением, я думаю.
Разве что так:
window.addEventListener('newscroll', function (e) {
// обработка
}, false);
window.onwheel = function(e) {
var event = new Event('newscroll');
window.dispatchEvent(event);
}
document.ontouchmove = function(e) {
var event = new Event('newscroll');
window.dispatchEvent(event);
}
Но это не во всех браузерах работает.
А вот такое должно сработать везде, в ie6 точно:
document['newscroll'] = function(e) {
// обработка
}
document.onmousewheel = function(e) {
document['newscroll']({type:'newscroll'});
}
document.touchmove = function(e) {
document['newscroll']({type:'newscroll'});
}
Если нет скролла, то без ловли колеса вряд ли получится.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?