javascript - проверить количество выполненных функций и заставить их выполнять не более одного раза - PullRequest
0 голосов
/ 24 мая 2018

Я использовал плагин «isInViewport js», который позволяет вам знать, когда элемент находится в области просмотра, и позволяет вам что-то делать, когда это происходит.

Итак, я написал подсчет функциюкоторая является функцией счетчика чисел.Это выполняется, когда элемент earn находится в области просмотра.

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

Это код, который я написал, который работает нормально, но не так, как я ожидаю:

$('.earn').on('inview', function (event, visible) {
        console.log('inview');

          if (visible == true) {
        console.log('inview count');

            counting();

          } else {
            $('#counter').text(0);
            $('#counter2').text(0+"$");
          }
        });

Код pusedocode для того, что я ищу:

if(count of function == 0){
  executeFunction();
}
else{

}

Может ли кто-нибудь предоставить решение для этого через javascript или jquery?

1 Ответ

0 голосов
/ 24 мая 2018

Если вам просто нужно запустить counting один раз, вы можете сделать что-то подобное в вашем inview обработчике.

if (visible == true) {
  console.log('inview count');
  if (!this.is_counted) { // 'this' should refer to your element.earn
    counting();
    this.is_counted = true;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...