2016-11-12 10 views
1

randomTableから1つの数字を8秒間、1by1で表示しようとしています。残念ながら、何も表示していません。forループの配列内容を表示する

var numberTable = []; 
    var randomTable = []; 

    $('#pooling').append('<div id="box"> </div>'); 

    for (var i=1;i<=32;i++) { 
     numberTable.push(i); 
    } 

    for (var i=0;i<8;i++) { 
     (function (e) { 
      randomTable.push(1 + Math.floor(Math.random() * (32 - e))); 
      numberTable.splice(e,1); 
      $('#box').replaceWith('<div id = "box>' + randomTable[e] + '</div>'); 
      $('#box').show(0).delay(8000).hide(0); 
     })(i); 
    } 

私は2回目のfor-loopを削除すると空の#boxを表示しますが、このループではこのdivはまったく作成されません。何が問題なの?

答えて

1

それはあなたの意図が何であるかを正確に明確ではないですが、多分これは役立ちます:

var numberTable = []; 
 
var randomTable = []; 
 
for (var i = 1; i <= 32; i++) { 
 
    numberTable.push(i); 
 
} 
 
for (var i = 0; i < 8; i++) { 
 
    randomTable.push(1 + Math.floor(Math.random() * (32 - i))); 
 
    numberTable.splice(i, 1); 
 
} 
 
console.log("randomTable: " + randomTable); 
 

 
$('#box').text(randomTable[0]); 
 
var x = 1; 
 
function repeat(){ 
 
    window.setTimeout(function(){ 
 
    if (x < 8) { 
 
     $('#box').text(randomTable[x]); 
 
     x++; 
 
     repeat(); 
 
    } 
 
    },8000); 
 
}; 
 
repeat();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p id="box"></p>

+0

は良いようですが、私のポイントはhtml要素として実行したいのです。ここではコンソールを使用します。 – ClassicError

+0

@ClassicErrorコードサンプルでは、​​作成されたランダム配列のみがコンソールに記録されます。番号自体は '$( '#box')'に追加されます。これをあなたのニーズに合わせて調整するだけです。私の要点は、8秒ごとにランダム配列から次の値を得る方法を示すことだけでした。 – Flyer53

0

最初に - replaceWithコールには"がありません。

秒 - あなたはAPPENDを使用して、このようにIDをサフィックスこと - あなたはreplaceWithを使用して各反復でそれを上書きして、あなたは常に一つだけのdiv(ID =箱)で終わる必要があり、このアプローチを使用して:

$('#box').append('<div id="box-' + e '">' + randomTable[e] + '</div>')

のいずれかを使用するか、idのままにしておき、代わりに名前を含めるクラスを使用してください。文書内に同じIDを持つ要素が1つだけ存在する必要があります。

あなたのhtmlマークアップの願いをお伝えください。

+0

が答えてくれてありがとう!まだ動かない。 ID = "box" for class = "box" - 最初の数字は8秒間表示され、非表示になります。この後も何も起こりません(検査官:

)。古いID要素を新しいものに置き換えるだけで、クラスとIDの間には本当に違いがありますか?それでもIDの要素は1つです。 – ClassicError

関連する問題