画像をクリックするコードがあり、次のセルに移動できる場合は移動する必要があります。
function changecell(a){
var moved=false;
if(a%3 !=0) {
if(ij[a-1]==0) {
moved=true;
if(moved==true) {
no=firstmove++;
move.innerHTML = no;
playTick();
}
swap(a-1,a);
}
}
if((a+1)%3 !=0 && moved==false) {
if(ij[a+1]==0) {
moved=true;
if(moved==true) {
no=firstmove++;
move.innerHTML = no;
playTick();
}
swap(a+1,a);
}
}
}
function playTick() {
document.getElementById('tickSound').play();
}
function swap(x1,x2) {
var temp=ij[x1];
ij[x1]=ij[x2];
ij[x2]=temp;
var p = eval("document.images.i"+x1);
p.src="images1/"+ij[x1]+".png";
p = eval("document.images.i"+x2);
p.src="images1/"+ij[x2]+".png";
}
私の問題は、最初のクリックでサウンドが2回再生され、その後、再生されるはずのように1回再生されることです。
誰かこれについて何か考えがありますか?
編集:
アラートが1回だけ表示alert()
されるループに入れましたが、サウンドは2回再生されます。if(moved==true)
が再びif(moved==true)
実行されたとしalert()
ます。