2016-02-27 51 views
1

https://jsfiddle.net/7jux5rLx/3/NBA選秀樂透去掉陣列物品後點擊按鈕點擊顯示

上述

我試圖做一個隨機的NBA樂透選秀的8支球隊(使用8個圖像陣列)全碼,揭示了團隊配合上按一下按鈕第8順位的圖像,然後刪除它從陣列列表中只剩下剩餘的7支球隊等等。 我不想刪除圖像,只是當我點擊下面的7個按鈕作爲數組選項的項目。所以目前我試圖在數組中使用8個列表圖像,以及8個按鈕都從1-8編號。我希望它與nba的選秀抽籤相似,所以如果任何人有一個百分比公式的代碼,這將是偉大的。

第一順位25%,第二順位16.4%,第三順位16.4%,第四順位16.3%,第五順位9.4%,第六順位6.6%,第七順位4.4%第8順位2.7%, 這是我現在擁有的。我似乎甚至沒有按鈕顯示隨機團隊。這是一個幻想聯盟不是專業網站或任何東西。

function teams() { 
    var aTeams = []; 
    aTeams[0] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='cavs'>"; 

    aTeams[1] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='suns'>"; 

    aTeams[2] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='rockets'>"; 

    aTeams[3] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='nuggets'>"; 

    aTeams[4] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='celtics'>"; 

    aTeams[5] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='raptors'>"; 

    aTeams[6] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='thunder'>"; 

    aTeams[7] = "<img src='http://i.imgur.com/KowPAjR.png' height='100' width='100' alt='warriors'>"; 
    var rdmTeams = Math.floor(Math.random() * aTeams.length); 
    document.getElementById("table").value = aTeams[rdmTeams]; 
} 

回答

0

https://jsfiddle.net/7jux5rLx/4/

這絕不是完美的。它需要對代碼進行一些格式化,但這是你所要求的我相信的。在小提琴上有你需要的html。

/* 
* Create a listener for a button click 
*/ 
var table = document.getElementById("table"); 
table.addEventListener('click', function(event) { 
    if (event.target.nodeName == "BUTTON") { 
     // Get the div corresponding to the button clicked 
     var thisPickDiv = document.getElementById(event.target.id.replace("Btn", "Div")); 
     var rdmNum = Math.floor(Math.random() * aTeams.length); 
     thisPickDiv.innerHTML = aTeams[rdmNum]; 
     aTeams.splice(rdmNum, 1); 
    } 
}); 

圖像停留在頁面上。我希望這是你的意思,不要刪除圖像。如果不是這樣,可以通過設置兩個陣列(一個用於團隊,另一個用於img源)來輕鬆完成,但我不知道這會給您帶來什麼好處。

+0

這是偉大的人。非常感謝。如何產生加權隨機數的算法,以便說cavs團隊有25%的機會獲得第一選擇,而不是使用Math.random()函數來隨機化所有團隊。我是否需要爲陣列中的每個團隊創建8個獨立的函數?如果我只知道其中一個功能的正確公式,其他7個功能就可以簡單地複製粘貼功能並將其調整爲正確的賠率。還有什麼方法可以讓每個按鈕的內容點擊後通過電子郵件發送給我的聯盟? – CBN23

+0

我會考慮Google的Gmail API來發送電子郵件。這比處理所有的郵件傳輸協議要容易得多。當我今晚得到時間時,我將使用加權隨機數。在此期間,你可以給我一個鏈接,NBA如何衡量選秀權? –

+0

嘿謝謝你的回覆。我找到了一種使用ES5 Array方法reduce來加權隨機數的方法。我仍然需要弄清楚如何通過電子郵件發送表格中的結果後,我揭示#1選擇最後一次。 – CBN23