2013-05-07 22 views
2

對於井字遊戲改變保持圖像源,我用下面的代碼圖像源切換到一個「x」或「o」:與函數

var player = 1;  

function changePicture(picture){ 
     if(player === 1){ 
      document.getElementById(picture).src = "images/o.png"; 
      player = 2; 
     } 
     else if(player === 2){ 
      document.getElementById(picture).src = "images/x.png"; 
      player = 1; 
     } 
    } 

我想,但是,像如果之後點擊,x和o將保持不變。

+0

你從'onclick'監聽器調用'changePicture',並希望以後禁用它? – Pietu1998 2013-05-07 16:46:22

+0

你可以發佈附加點擊處理程序的代碼嗎? – 2013-05-07 16:47:21

+0

什麼是'球員'?請說清楚! 什麼時候該函數被調用?再提供一些代碼。 – tMJ 2013-05-07 16:49:34

回答

0

你是如何處理這個問題的? 如果您正在使用onclick事件,您可以在您輸入此功能後取消設置,有很多方法可以實現您的需要。

onclick="changePicture(this);"

然後:

function changePicture(el){ 
    if(player === 1){ 
     el.src = "images/o.png"; 
     player = 2; 
    } 
    else if(player === 2){ 
     el.src = "images/x.png"; 
     player = 1; 
    } 
    el.onclick =''; 
} 
1

你可以保持在板上的每個元素中的狀態:

function changePicture(picture) 
{ 
    var pic = document.getElementById(picture); 

    if (pic._clicked) { return; } 

    // mark it 
    pic._clicked = player; 
    pic.src = (player === 1 ? "images/o.png" : "images/x.png"; 

    // swap player 
    player = 3 - player; 
} 

這裏使用了像素上_clicked財產;此屬性不應與任何現有屬性衝突。它基本上標記了點擊它的播放器的圖片元素,因此它不會改變,並且您以後會知道最後點擊的是誰。