Запускать функцию JQuery, когда она проходит половину страницы - PullRequest
2 голосов
/ 10 февраля 2011

Есть ли способ узнать, прокручивали ли вы в центре веб-страницы или, другими словами, прокручивали ли вы ровно половину веб-страницы и ваша полоса прокрутки расположена в нижней половине окна браузера?

Я хочу иметь возможность вызвать это: $ ( 'Ананас люди') шоу (). когда я прокрутил пройденную половину страницы?

Возможно ли это вообще?

Ваша помощь была бы так любезна!

Ответы [ 4 ]

9 голосов
/ 10 февраля 2011

Вы можете получить количество пикселей в элементе, которое было прокручено, используя .scrollTop(). Для прослушивания событий прокрутки используйте .scroll().

Если вы хотите определить половину, используйте высоту свитка:

$(window).scroll(function () { 
  if ($(window).scrollTop() > $('body').height() / 2) {
    $('.pineapple-man').show();
  } 
});

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

Чтобы сделать показ одноразовым, добавьте удаление прослушивателя событий scroll, добавив следующее после вызова .show():

$(window).unbind('scroll');
1 голос
/ 10 февраля 2011

Полагаю, вы хотите сделать что-то вроде этого:

if($(document).scrollTop() > $(document).height()/2){
   $('.pineapple-man').show();
}

, где scrollTop() возвращает текущую горизонтальную позицию, а height() определяет высоту документа.

0 голосов
/ 10 февраля 2011

вы можете использовать событие фокуса, если прокрутите его вниз (так же, как jQuery использует для своих комментариев)

jQuery('selector').focus(function() {
  jQuery('.page').show();
});
0 голосов
/ 10 февраля 2011

См. Событие scroll и метод scrollTop .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...