2015-04-27 4 views
5

Я ищу, чтобы определить, когда пользователь прокрутил страницу вниз, а затем пытается продолжить прокрутку, но там, где нет прокрутки/просмотра ,Обнаружение мертвой прокрутки в нижней части страницы (колесико мыши, события прокрутки)

Я создаю метрики юзабилити, где мертвая прокрутка является одной метрикой и нужна способ точно определить, когда пользователи пытаются прокручивать, но не предлагают ничего, что можно увидеть.

Мне нужно что-то, что срабатывает, когда инициируется событие мыши, но страница не прокручивается с направлением вверх/вниз.

+0

Покажите свой код, что вы сделали ... – Choxx

+0

Вам нужно продемонстрировать некоторое усилие, stackoverflow - это не веб-сайт, на котором можно получить полные кодовые решения по любому вопросу. – Trader

+1

Почему вы просто не устанавливаете тест с jquery и не видите ли событие прокрутки, когда происходит мертвый прокрутки – Huangism

ответ

1

Вот Exert из сценария, я использую, чтобы остановить эту страницу из анимации прокрутки, когда дно было достигнуто:

var gate = $(window), edge; 
setLength(); 

gate.resize(function() { 
    setLength(); 
}); 

function setLength() { 
    edge = $(document).height()-gate.height(); 
} 

gate.mousewheel(function(event, delta) { 

    outset = gate.scrollTop(); 
    if (delta == 1 && outset == 0) console.log('top'); 
    if (delta == -1 && outset == edge) console.log('bottom'); 
}); 

Я использую плагин колеса прокрутки , это просто здорово, и для любой хорошей поддержки кросс-браузера вам придется писать кучу кода для нормализации событий колес в любом случае ...

https://plugins.jquery.com/mousewheel/

Я предполагаю, что это будет делать то, что было задано в вопросе, - определить, может ли событие mousewheel сделать прокрутку страницы за ее пределами. Для мысленного эксперимента, хотя вы также можете быть на шаг впереди этого, но только точно, если mousewheel используется как сеттер. Страница может быть сделана так, чтобы прокручивать точное количество пикселей, когда пользователь запускает событие mouswheel. И когда цель страницы известна, вы можете проверить, попадает ли она в верхнюю или нижнюю часть страницы.

+0

Ницца, позвольте мне попробовать. – Collarbone

+0

Разве это получилось? Если вам нужна точность пикселей, пока пользователь прокручивается к внешним границам страницы, вы можете подумать о том, что я написал сценарий гладкой прокрутки, который я написал (откуда взялся вышеприведенный фрагмент): http://codepen.io/Shikkediel/pen/GJRbOV ? редакторы = 001. – Shikkediel

+0

Работал отлично. Благодаря! – Collarbone

0

Добавить окна scrollTop() и высоту. Если он равен высоте документа, вы находитесь в нижней части страницы.

$(window).scroll(function() { 
    if($(window).scrollTop() + $(window).height() == $(document).height()) { 
     console.log("Page bottom reached!"); 
    } 
}); 

http://jsfiddle.net/1v3cakn9/1/

+0

Приятно, но как только он достиг дна, и пользователь пытается продолжить прокрутку, можем ли мы запустить что-то еще? – Collarbone

+0

Вы просто поставили бы все, что хотите, вместо консольного журнала –

+0

Старый, но все же .. Событие прокрутки не запускается после достижения дна, поэтому это не работает. Консоль.log происходит только один раз, если вы продолжаете прокручивать, когда вы попадаете в нижнюю часть, это больше не запускается. OP хотел, чтобы что-то обнаружило, когда человек продолжает прокручивать, когда они достигают цели. – jsfrocha

 Смежные вопросы

  • Нет связанных вопросов^_^