1

クリック イベントで入力タグの値を取得するスクリプトがあり、それらを比較して同じ値かどうかを確認する必要があります。私はまだJavascriptとJQueryを学んでいるので、本当に助けを見つける必要があります. これが私のコードです:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#swapCard_0").click(function(){

var phpval = document.getElementById('swapCard_0').value;

});

$("#swapCard_1").click(function(){


var phpval = document.getElementById('swapCard_1').value;
});

$("#swapCard_2").click(function(){


var phpval = document.getElementById('swapCard_2').value;
});
$("#swapCard_3").click(function(){


var phpval = document.getElementById('swapCard_3').value;
});
});
</script>

</head>
<body>

<input type="image" id="swapCard_0" src="image/image0.jpg" value="0">
<input type="image" id="swapCard_1" src="image/image1.jpg" value="1">
<input type="image" id="swapCard_2" src="image/image2.jpg" value="0">
<input type="image" id="swapCard_3" src="image/image3.jpg" value="1">
</body>
</html>

したがって、ユーザーが画像 0 をクリックしてから、値が 0 の画像 2 をクリックすると、関数でそれらを比較してさらにコードを実行するにはどうすればよいでしょうか? if ステートメントが必要になると確信していますが、コードで適切にテストする方法がわかりません。ユーザーが同じ値を持つ 2 つの異なる画像をクリックしたときにサウンドを再生したいと考えています。

4

3 に答える 3

0

私はいくつかの変更を加えます。まず、単一のセレクターですべてのカードを対象にできるように、すべてのカードにクラスを配置します。次に、次のコードを使用します。

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
var prev_click;

$(function(){
    $('.swapCard').click(function(){
        var this_click = this.value;

        if(prev_click === this_click){
            playSound();
        }
        else{
            prev_click = this_click;
        }
    });
});
</script>
</head>
<body>
    <input type="image" id="swapCard_0" class="swapCard" src="image/image0.jpg" value="0">
    <input type="image" id="swapCard_1" class="swapCard" src="image/image1.jpg" value="1">
    <input type="image" id="swapCard_2" class="swapCard" src="image/image2.jpg" value="0">
    <input type="image" id="swapCard_3" class="swapCard" src="image/image3.jpg" value="1">
</body>
</html>

このコードはクリックをリッスンします。次に、前のクリック値と現在のクリック値を比較します。一致すると音を鳴らします。そうでない場合は、次の比較のために現在のクリック値を保存します。これはあなたがやろうとしていることを達成すると思います。

于 2013-09-09T06:54:18.033 に答える
0

私があなただったら、次のようにします。クラスをすべての画像に渡して、ワンクリック リスナーで処理できるようにします。例: クラス: .image

var phpval;

$('.image').on('click', function() {
  if (phpval && phpval === this.value) {
   //play sound here
  } else {
   phpval = this.value; //set php to this value
  }
});
于 2013-09-09T06:33:05.580 に答える