0

Доброго

Сразу скажу, вопрос отличается от тысяч аналогичных в интернете

//function 1
$(".div1").click(function(){
    ...очень много кода
});

можно ли каким образом вызвать вызов функции ежесекундно, в JQ коде?

//function 1
$(".div1").click(function calculate(){
    ...очень много кода
});

//вот это, не работает. с простыми JS работает, но в JQ нет
setTimeout(calculate(), 1000);
gforce
  • 426
  • 6
  • 13

1 Answers1

1

setTimeout не будет выполнять ваш код "ежесекундно". Он выполняется через заданное кол-во секунд, 1 раз. Следует использовать setInterval

calculate() судя по всему у Вас имеется только в обработчике .click, соответственно setTimeout(calculate(), 1000); ни к чему и не приводит, он не может видеть эту функцию, её нет для setTimeout().

Если я правильно понял задачу, то можно использовать .trigger(). Примерно так:

$(".div1").click(function calculate(){
  console.log("alert");
});

setInterval(function() { $(".div1").trigger("click"); }, 2000);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">1111</div>