jquery нажмите кнопку () для меня, затем скажите мне, если это сделано - PullRequest
0 голосов
/ 09 февраля 2020

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

(function($){
    setInterval(function(){
        $('.play-button').click();
    }, 1000);

})(jQuery)

Теперь я хочу еще один шаг: я хочу, чтобы он нажал только один раз. (тем не менее, эта кнопка отображается только после случайного долгого времени загрузки.)

Ответы [ 2 ]

1 голос
/ 09 февраля 2020

Использование setTimeout:

(function($){
    setTimeout(function(){
        $('.play-button').click();
        $('.play-button').click(function(){return;});
    }, 1000);
})(jQuery)
1 голос
/ 09 февраля 2020

Используйте оператор, чтобы он выполнялся только once

let clicked = false;

(function($) {
  setInterval(function() {
  !clicked ? $('.play-button').click() : null
  }, 1000);

})(jQuery)

$('.play-button').click(function() {
  console.log('clicked')
  clicked = !clicked
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="play-button">play button</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...