Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как запретить вызов функции чаще n раз в несколько секунд ? (https://javascript.ru/forum/misc/39966-kak-zapretit-vyzov-funkcii-chashhe-n-raz-v-neskolko-sekund.html)

linklee 19.07.2013 10:43

как запретить вызов функции чаще n раз в несколько секунд ?
 
как это вообще делается?
через создание date и потомс помощью getmilliseconds проверки норм будет?

рони 19.07.2013 11:24

linklee,
:write:
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
</head>
<body>
<input id="go" name="" type="button" value="go" onclick="foo()">
<div id='show'></div>
<script>
function timer(num, sec, foo) {
     var a = 0;
     return function () {
         a || window.setTimeout(function () {
             a = 0
         }, 1000 * sec);
         a < num && foo();
         a++;
     }
 };

function foo()
{
   document.getElementById('show').innerHTML+='test '
}
foo = timer(2,3,foo)

</script>
</body>
</html>

Deff 19.07.2013 14:52

(function (){
var timerId00;
var tmin_Call = 4000;
var busy = false;
 return MyFunc = function  (a,b,с) {
  if(busy){return}
   busy = true;
    //Тут Наши коды..., к примеру: alert('A');
    alert('A');

   // Завершение
   busy = true;setTimeout(function(){busy = false},tmin_Call);
 }
})()
setInterval("MyFunc()",400); //Тест быстро запуска


Часовой пояс GMT +3, время: 11:31.