-4

ここにコードがあります:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Letters</title>
</head>

<body>
<div id="stop">STOP</div>

<div id="letter">A</div>
<div id="letter">G</div>
<div id="letter">D</div>
<div id="letter">M</div>
<div id="letter">S</div>
<script type="text/javascript">
var letters = ['a','b','c','d', ... ];
var getRandLetter = function () {
    return letters[ Math.random() * 25 ] //generate a random number between 0 and 25, use this to pick a letter
}
setInterval($('#letter').text(getRandLetter()), 500) //pop a random letter in the DOM every 500 ms
</script>

</body>
</html>

スクリプトを使用すると、div の文字を 0.5 秒ごとに変更する必要がありますが、

ここで、STOP div をクリックしたときに次のようにする必要があります。1 番目の div - "A" 2 番目の div "B" ... ... など。助けてください!それを行う機会はありますか!

4

2 に答える 2

0

上記と同じ id を div に与えるべきではないかもしれませんが、これは実際に機能する可能性があります (明らかにテストされていません):

var curIdx = 0;
//choose a new first letter index every 500 ms
var interval = setInterval(function(){curIdx = Math.random() * 25;}, 500);

$('#stop').click(function(){
    var allDivs = $('#letter');
    for( var i = 0; i < letters.length; i++ )
    { 
       var offset = (curIdx + i) % letters.length;
       allDivs[i].text(letters[offset]);
    }
    //edit: to stop the thing from running
    clearInterval(interval);
}

this is assuming, you have as many divs as letters...

edit: i made a fiddle yesterday, that i forgot to post: [http://jsfiddle.net/qpg4V/8/][1]
于 2012-04-21T20:20:16.877 に答える
0
<div id="s">STOP</div>
<div id="L1"></div>
<div id="L2"></div>
<div id="L3"></div>
<div id="L4"></div>
<div id="L5"></div>

v=setInterval(function(){for(i=0;i<6;i++){$("#L"+i).html(String.fromCharCode(Math.floor(Math.random()*26+65)))};},500);
$("#s").click(function(){clearInterval(v);});

http://jsfiddle.net/Hx28c/1/

ゲームをお楽しみください。

于 2012-04-21T20:43:09.960 に答える