Есть ли способ определить, сколько свитков было сделано в окне?

0

В отношении этой должности.

Есть ли способ определить количество свитков, выполненных перед выполнением действия в jQuery? В настоящее время то, что я хочу сделать, вместо события click, событие прокрутки будет запускаться на n-ом числе прокрутки (скажем, в третьем событии прокрутки). Есть ли способ сделать это?

Благодарю!

Теги:
scroll

4 ответа

0
var scrolled = 0, can_count = true;
$(window).scroll(function(){
    if (!can_count) return false;
    can_count = false;
    scrolled++;
    // if (scrolled == 3) {...}
    setTimeout(function(){ can_count = true; }, 800);
});

обратите внимание, что событие прокрутки запускается на КАЖДОЙ прокрутке, meaning- на "одиночной" прокрутке, выполняемой мышью или трекпадом, вы, вероятно, будете запускать MULTIPLE scroll events, что я не уверен в вашем случае.

iv'e добавил таймер, который позволит 1 прокручивать событие каждые 800 миллисекунд, что должно быть более точным для ваших нужд.

надеюсь, это поможет.

0
    var count = 0;
var prev_scroll = 0;
var success = 1;
$(window).scroll(function() {
    if(count >= 50){
        alert("you did 50 down scrolls");
        count = 0;
        success = 0;
    }
    if(success == 1 && $(window).scrollTop() > 500)
    {
        $(window).scrollTop(500);
        count++;
    }
    if(success == 0 && $(window).scrollTop() == 0)
    {
        /*reset success*/
        success = 1;
    }
    prev_scroll = $(window).scrollTop();
});

http://jsfiddle.net/3kPaB/11/

Это предотвратит переход пользователя ниже 500px без прокрутки в 50 раз. Вы можете комбинировать это с таймаутом 800 миллисекунд, предоставленным Gal V, так как 50 раз достигается очень легко.

  • 0
    Может ли это быть применимо к мобильному свитку?
  • 0
    Не очень, но это так.
0

Я разветкил jsfiddle в связанном сообщении

http://jsfiddle.net/Mw9B6/8/

if(count > 50){
    conditionMet = true;
}

Условие выполняется при прокрутке 50 раз или при нажатии кнопки, и, как говорилось ранее, можно использовать/использовать тайм-аут в 800 миллисекунд.

Это должно ответить на ваш вопрос.

0

Надеюсь, это то, что вы имели в виду.

var i = 0;

$( window ).scroll(function() {
  i++;
  alert(i);
  if(i == 3){
        //Your code
  }

});

  • 0
    Не могли бы вы посмотреть на это? Это в основном вся идея. Прямо сейчас, это работает, когда кнопка нажата. Посмотри это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню