2016-11-05 67 views
0

最近開始學習Javascript作爲編程的一個全新手。我在製作恐怖電影選擇器時遇到了一個問題,該選擇器會從數組中隨機選取一部電影,並在滑動選項卡中顯示與其對應的圖片。強制Math.random函數在表達式中返回相同值的任何方式?

這是該消息的相關代碼(片陣列是很長,但只能發佈兩個鏈接):

var films = [ 
["Lake Mungo", "https://upload.wikimedia.org/wikipedia/en/6/68/Lake_Mungo_Official_Poster.jpg"], 
["A Tale of Two Sisters", "http://www.thenightmarenetwork.net/wp-content/uploads/2015/10/tale2sisters.png"] 
]; 

function pickFilm() { 
    return Math.floor(Math.random() * films.length); 
} 

function showFilm(){ 
$("#newreplyDiv").append("<img src='" + films[pickFilm()][1] + "'><span id='movieText'><h1>The next film you're watching is: " + films[pickFilm()][0] + " !</h1><h2>" + 
"Hope you enjoy it and try to sleep at night alright?</h2></span>") 
} 

有沒有使它成爲的相同的索引返回兩個值中的任何方式陣列?這個版本返回一個隨機的電影名稱,然後是一個隨機的圖片,而不是同一個子數組中的一個,並且在將值鎖定到該索引之前將該值賦給一個函數,每次用戶單擊按鈕。

預先感謝您提供的任何幫助,有可能是固定它:)的非常簡單的方法

+4

在showFilm函數('var pickedFilm = pickFilm();')中創建一個變量並使用該變量兩次('films [pickedFilm] [1]')? –

+1

完美的作品,非常感謝! –

回答

0

可以使showFilm功能存儲隨機裏面挑一個變量,然後再用認爲:

function showFilm(){ 
    var pickedFilm = pickFilm(); 
    $("#newreplyDiv").append("<img src='" + films[pickedFilm][1] + "'><span id='movieText'><h1>The next film you're watching is: " + films[pickedFilm][0] + " !</h1><h2>" + 
    "Hope you enjoy it and try to sleep at night alright?</h2></span>") 
}