2016-02-27 46 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