つまり、私がやろうとしているのは、特定の要素のクリックイベント、つまり (.beanHolder ul li) スコア (.score) から減算してから、変数を宣言したい (clicked = "yes") ことです。ユーザーがその項目をもう一度クリックすると、コードの 2 番目の部分が処理されます。.beans ごとに var を宣言するのは長い方法であり (これは少なくとも 40 個の変数になります)、コードがかなり長くなる可能性があることを私は知っています。私の思考プロセスは、「this」を使用して変数を Bean に追加できるということですが、実際にはうまくいきません。どんな考えでも素晴らしいでしょう!!!
私のjQueryコード - >
<script>
$(document).ready(function(){
var clicked = "";
$(".beanHolder ul li").click(function(){
if (this.clicked == "")
{
$(".bean", this).attr("src", "img/bean.png");
var number = parseInt($('#score').text());
number-=1;
$('#score').text(number);
this.clicked = "yes";
return;
}
else if (this.clicked == "yes")
{
$(".bean", this).attr("src", "img/beanG.png");
var number = parseInt($('#score').text());
number+=1;
$('#score').text(number);
this.clicked = "";
return;
}
});
});
</script>
編集:動作しました。誰かが似たようなものを探しているなら、これはうまくいくでしょう - >
<script>
$(document).ready(function(){
$(".beanHolder ul li").click(function(){
//$(this).data("clicked","no");
var clicked = $(this).data("clicked");
if (clicked)
{
$(".bean", this).attr("src", "img/beanG.png");
var number = parseInt($('#score').text());
number+=1;
$('#score').text(number);
$(this).data("clicked",false);
//var clicked = $(this).data("clicked");
//return;
}
else
{
//This is to keep the score from going below 0; as it is it can not go over a score of 20.
if (parseInt($('#score').text()) > -1)
{
$(".bean", this).attr("src", "img/bean.png");
var number = parseInt($('#score').text());
number-=1;
$('#score').text(number);
$(this).data("clicked",true);
//return;
}
}
});
});
</script>