0
我有一個代碼,通過id隨機顯示三個元素,沒有重複通常的作品。當前的代碼顯示從54張卡片/ html元素中選擇的三張撲克牌。目前它大部分時間都能正常工作,但有時它只會返回兩張牌,更多的時候很少會只有一張牌。我想通過總是返回三張來改善它。我如何修改下面的代碼來做到這一點?另外,如果我按下隨機顯示三個元素/卡片兩次或更多次的按鈕,每次隨後的點擊都會持續添加三張卡片,直到很多顯示器和卡片耗盡爲止。我將如何修改下面的代碼,以便重做該功能(在其位置隨機顯示另一組三張卡片並從第一次點擊中隱藏最初的三張卡片)。按ID顯示3個隨機元素,不使用JQuery重複。如何確保它始終返回3?並重新點擊相同的按鈕功能?
我想保留當前代碼的id選擇元素的功能,因爲它可以用來生成除撲克牌之外的其他多個元素。
CSS設置爲:
.cards {
display: none;
}
而且代碼:
var myarray = [
"#card1","#card2","#card3","#card4","#card5","#card6","#card7"...];
var numberOfCards = 3;
function getRandom() {
for (var i = 1; i <= numberOfCards; i++) {
var randomIndex = RandomDiv();
$('.cards:eq('+randomIndex+')').fadeIn(900).css('display', 'inline-block');
myarray.splice(randomIndex, 1);
}
}
$('.btn').on('click', function() {
getRandom();
});
function RandomDiv() {
return Math.floor(Math.random() * myarray.length);
};
謝謝!
該卡已經繪製HTML顏色分配即:'
即,就好像我只是試圖展示任意三個隨機元素而不重複,然後在點擊時無限期地重做,同時只顯示三個元素。這基本上是我所做的,除了那些元素碰巧是卡片。 – user8277761
更新了答案做了重新洗牌,'fadeIn'和隱藏 –