2012-10-15 84 views
0

我創建了一個循環,模板我的數據,然後將其附加到選定的div,我想確保這些數據已完全模板化和注入之前我運行我的下一個功能,所以我真的需要的東西就像一個回調功能。任何人都可以提醒我怎麼做到這一點?確保我的循環在運行函數之前完全完成?

JS

// Template slideshow 
for (var i = 0, len = data.films.length; i < len; i++) { 
    var dataPath = data.films[i]; 
    var tmp = '<li><img src="http://dummyimage.com/300/000/' + dataPath.id + '" /><h2>' + dataPath.title + '</h2></li>'; 

    $('.slides').append(tmp); 
} 

// Want to run this once Im sure all data has been templated and injected 
$('.flexslider').flexslider({ 
    animation: "slide" 
});​ 

回答

2

你並不需要一個回調。您創建的代碼始終在循環完成時注入。

+0

哦,我不認爲這將是這種情況,那就是爲什麼我想掩飾自己 – styler

1
// Template slideshow 
for (var i = 0, len = data.films.length; i < len; i++) { 
    var dataPath = data.films[i]; 
    var tmp = '<li><img src="http://dummyimage.com/300/000/' + dataPath.id + '" /><h2>' + dataPath.title + '</h2></li>'; 

    $('.slides').append(tmp); 

    // Want to run this once Im sure all data has been templated and injected 
    if (i==len) { 
     $('.flexslider').flexslider({ 
      animation: "slide" 
     });​ 
    } 
} 
+0

循環內'i'總是小於'len',這樣就可以保持代碼不會運行。 – Guffa

+0

你很快 - 立即意識到錯誤並糾正它,但:-) – davidkonrad

相關問題