[英]How can I call my function multiple times using setInterval?
我試圖做一次for循環10次,我寫了setInterval再次調用我的函數,但是它不起作用。 我的for循環只有十個。 那我該怎么辦?
function randomThumbNews() {
for(var i=0;i<10;i++){
$.ajax({
type: "get", url: "Home/Oku", data: {},
success: function (data) {
$("#thumbNews_" + i).html(data);
}
});
}
}
setInterval(randomThumbNews, 3000);
問題是-什么時候
function (data) {
$("#thumbNews_" + i).html(data);
}
被稱為循環已經結束,所以i
將永遠是10。
您只會看到結果發布到您的<div>
由於函數參數沒有閉包,因此可以解決此問題:
function ajaxAndSet(counter)
{
$.ajax({
type: "get",
url: "Home/Oku",
data: {},
success: function (data)
{
$("#thumbNews_" + counter).html(data);
}
});
)
function randomThumbNews()
{
for(var i=0;i<10;i++)
{
ajaxAndSet(i);
}
}
setInterval(randomThumbNews, 3000);
嘗試類似:
$.ajax({
type: "get", url: "Home/Oku", data: {},
context: i, /* NEW - this value comes to your success callback as 'this' */
success: function (data) {
$("#thumbNews_" + this).html(data);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.