我正在構建循環文本生成器。生成器將來自多個數組的句子(文本)組合在一起,通過視覺「循環」並添加它們。我認爲最好創建一個basic version of the generator小提琴,因爲我已經建造現在:循環文本生成器
說明
的基本工作原理如下:
- 句在單獨的數組定義(
Array1
,Array2
和Array3
) - 第二組陣列被定義,包含可以組合的陣列(
combo0
和在小提琴) - 在按下「生成」按鈕,則該函數
Generate
被調用,它在視覺上從句子中的小提琴的陣列(combo0[0]
週期句子) - 此函數循環本身直到句話循環8次(
var times = 8
在提琴) - 當這樣做完成後,該函數調用提供的回調函數。在此回調,再次運行
Generate
,這一次與第二陣列(combo0[1]
在小提琴)
的原因回調,我需要「等待」的循環作用來完成,然後移動上。
問題
雖然這不正是我所需要的(並且除了這個事實,我如果這是做到這一點非常令人懷疑;我總是寫一個函數時感覺有點奇怪循環本身),我有以下問題:
在combo
數組中,我定義哪個'句子'數組可以是可能的組合。如果有兩個組合,但是具有多於兩個這樣工作得很好,我有一個問題:
Generate(combo0[0], i, function(i) { //generate from first array element of combo0, callback to generating from second array of combo0
Generate(combo0[1], i, function(i) {
$('div#status').html('Done!'); //show status
$('input#generate').removeAttr("disabled"); //enable button
});
})
我不得不遞歸改寫這個容納combo
陣列由3或甚至4的可能性選項。如果combo
數組僅包含2個(或1個)數組,則可能會破壞腳本。
這是我卡住的地方。主要問題是,如果我遍歷combo
陣列,例如與.each(); generate
函數被同時調用多次,所以整個'循環'效果丟失。
我試過編寫各種循環,它考慮到給定的combo
數組的長度,但今天比以前我的瀏覽器崩潰了很多,我不知道該怎麼做。
因此,你需要一個腳本,可以通過多個數組,一次一個項目,直到它到達數組中的某個項目,然後進展到下一個數組,並以可視方式呈現每個步驟? – Luka 2012-07-27 14:03:16
那麼,不是某個項目;一個數組中的隨機項。它需要打印一個數組項目x次,然後最後寫下一個並繼續到下一個數組。基本上,它需要做的一切就是在Fiddle中工作(請參閱我的文章),除了包含2個以上數組的數組。 – 2012-07-27 14:14:31
_我認爲最好創建一個Fiddle_ - 是的! +1 – halfer 2012-07-27 14:22:12