PDA

View Full Version : سوال: چرا setInterval تابع رو طبق زمان بندی اجرا نمی کنه؟



idocsidocs
پنج شنبه 07 شهریور 1392, 01:05 صبح
از jquery استفاده می کنم
تابعی که در ادامه قرار دادم بجای اینکه هر 10 ثانیه یبار اجرا بشه پشت سر هم و بدون توقف اجرا می شه

مشکل چیه؟

function myfun(q){
alert(q)
setInterval(function(){myfun(q+1),10000});
}
myfun(5);

2undercover
پنج شنبه 07 شهریور 1392, 08:29 صبح
شما باید setInterval رو بیرون تابع قرار بدید.

الان اینجوری تابع که اجرا میشه پشت سر هم یک Interval جدید تعریف می کنه!

idocsidocs
پنج شنبه 07 شهریور 1392, 09:23 صبح
الان اینجوری تابع که اجرا میشه پشت سر هم یک Interval جدید تعریف می کنه!
من هم همین رو می خوام! این تابع در اصل یک تایمر رو ایجاد می کنه و باید هر چند ثانیه یک بار مجدد فراخوانی بشه.

چطور باید یه تایمر رو ایجاد کنم که هر 10 ثانیه یک بار مجددا اجرا بشه؟

mehdi.mousavi
پنج شنبه 07 شهریور 1392, 09:34 صبح
سلام.
کافیه تا بدین شکل عمل کنید:

function myFunc(n) {
console.log(n);
};

window.onload = function() {
var n = 0;
setInterval(function() {
myFunc(++n);
}, 10000);
};

موفق باشید.