Есть такой код, который говорит, что при скроллинге скролл достигнул конца страницы.
$(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'});
}
Если нет скролла, то без ловли колеса вряд ли получится.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок