2016-05-22 20 views
1

は私がやろうとしています何..です表示アレイ項目

  1. ボタンでランダム配列項目が表示されます。
  2. 配列項目は1回だけ表示できます。

    1. クリックでランダムな配列項目が表示されます。

    現在、私はアップとして、コードを設定しています。

  3. ボタンのクリックはループスルーして終了します。
  4. ボタンをクリックすると、項目が複数回表示されます。

ここではhttp://codepen.io/fun/pen/aNedGQ?editors=1010

ヘルプをいただければ幸いコードへのリンクです! =)

以下はコードです。上記のリンクと同じです。

あなたはランダムな項目を表示し、その後、アレイから削除することができ

var items = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 

// Randomly on click display each item 
// Only display each item once 
// Stop when all items have been displayed 

// Display to screen 
var display = function(info) { 
    var x = document.getElementById('display'); 
    x.innerHTML = info; 
} 
// Create random number 
var random = Math.floor(Math.random() * items.length); 
// Click handler 
$('.button').on('click', function() { 
// Display random arr items to screen 
    display(items[random]); 
// Next item to be random 
    random = (random + Math.floor(Math.random() * items.length)) % items.length; 
}); 
+0

配列を作成d表示された値を追加します。毎回値を表示したいので、最初に値が表示されているかどうかを確認してください。表示されていない場合は配列をチェックしてください。 ..! –

+0

ソリューションが 'jQuery'の代わりに' JS'であれば、それを投稿できますか? –

+0

そして配列 'splice()'はあなたが本当にしようとしていることを達成する興味深い方法です:http://www.w3schools.com/jsref/jsref_splice.asp –

答えて

2

HTML

<div id ='display'> </div> 
<div class ='button'>Next item</div> 

JSが

var items = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
 
$('.button').click(function() { 
 
    var rand = items[Math.floor(Math.random() * items.length)]; 
 
    $('#display').text(rand); 
 
    items.splice(items.indexOf(rand), 1); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='button'>Next item</div> 
 
<div id='display'></div>

+0

これはうまくいき、表示する項目。ありがとうございました –

関連する問題