昨日私はインターネットで見つかったいくつかのランダムな練習のコードを書き始めました。私の仕事は空白のHTMLテーブルを作成することでした。ユーザーが特定のボタンを押すと、セルの色が反対の色(緑または赤)に変わり、その値が変更されました(1を加算または減算)。 10回のセルクリック後、平均とその他のものを含むメッセージが表示されます。初めてボタンをクリックすると、すべて正常に動作します。しかし、その後のクリックに対しては、それは奇妙な動作をします。ここでは、コードの一部私に奇妙な結果を与えるJavascript(jQuery)
//.....
var n=0;
$("#b1").click(function(){
document.getElementById("b1").disabled = true;
$("td").removeClass();
for (var i=0; i<25; i++)
{
var z=$("td").eq(i)
z.text(Math.floor((Math.random() * 10)))
if (z.text()<5)
{
z.addClass("linkClass")
}
else
{
z.addClass("linkClass2")
}
}
$("td").click(function(){
n++;
if ($(this).hasClass("linkClass"))
{
$(this).removeClass()
$(this).text(parseInt($(this).text())-1);
$(this).addClass("linkClass2")
}
else
{
$(this).removeClass()
$(this).text(parseInt($(this).text())+1);
$(this).addClass("linkClass")
}
if (n==10)
{
alert("Ten times clicked");
document.getElementById("b1").disabled = false;
n=0;
}
クラスlinkClass
だとlinkClass2
はちょうど、セルの背景色を変更しています。何か案は?
にいくつかのクリックを実行するため、あなたは
$("#b1").click(function(){
から出$("td").click(function(){
を移動する必要があります「それは奇妙に振舞う」よりも説明的です。 – Pointyよく2回目にボタンを押して、5つのセルをクリックします。「10回のクリック」pops.The 3回目のクリックでもポップします。 –