2016-06-24 2 views
1

На данный момент пользователь, у меня есть следующая ...проверка если прокручиваются на определенный процент от экрана

if ($(window).scrollTop() + $(window).height() > 1150) 

Таким образом, если пользователь прокручивает прошлом 1150px это состояние называется. Есть ли способ изменить мое условие if, чтобы пользователь прокручивал до 20% экрана, а не заданный номер пикселя, чем будет вызвано условие if.

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

ответ

2

Вы на самом деле уже используете все, что вам нужно сделать, , Я бы предложил использовать собственный window объект innerHeight вместо $(window).height.

То, что вы хотите сделать, это определить максимальную высоту в зависимости от вашего текущего innerHeight прежде чем сделать чек:

var maxHeight = window.innerHeight * 0.2; 
if($(window).scrollTop() > maxHeight) { 
    // do what you want to do 
} 
1

Edit: Обратите внимание, что всю высоту страницы в document.height не window.height

if (($(window).scrollTop()/$(document).height()) > 0.2) 
0
if ($(window).scrollTop() > ($(window).height()*20)/100) 
+1

Пожалуйста, добавьте некоторые окружающие объяснения так, чтобы человек, который задал этот вопрос понимает, что это делает. – AlBlue