2013-04-14 43 views
0
function move(where){ 
      var status = document.querySelector("#status"); 
      var img = document.querySelector("img"); 

      switch(where){ 
       case "north": 
        if(startingPos>=3){ 
         startingPos -= 3; 
         status.innerHTML = messages[startingPos]; 
         img.setAttribute("src",images[startingPos]); 
        }else{ 
         status.innerHTML = blockedPathMsg[startingPos]; 
        } 
        break; 
       case "east": 
        if(startingPos%3!=2){ 
         startingPos += 1; 
         status.innerHTML = messages[startingPos]; 
         img.setAttribute("src",images[startingPos]); 
        }else{ 
         status.innerHTML = blockedPathMsg[startingPos]; 
        } 
        break; 
       case "west": 
        if(startingPos%3!=0){ 
         startingPos -= 1; 
         status.innerHTML = messages[startingPos]; 
         img.setAttribute("src",images[startingPos]); 
        }else{ 
         status.innerHTML = blockedPathMsg[startingPos]; 
        } 
        break; 
       case "south": 
        if(startingPos<6){ 
         startingPos += 3; 
         status.innerHTML = messages[startingPos]; 
         img.setAttribute("src",images[startingPos]); 
        }else{ 
         status.innerHTML = blockedPathMsg[startingPos]; 
        } 
        break; 
       default: 
        status.innerHTML = "I do not know that"; 
      } 
     } 

這是我在我的遊戲中用戶可以移動的功能。現在我需要添加一個新功能,用戶可以在其中拾取和刪除項目。項目將在地圖上的某些地點,並且每當用戶到達那裏時,我想將與該項目相關的消息追加到status.innerHTML如何在innerHTML中添加內容?

我該如何去做呢?

回答

1

如果要追加你可以使用:

status.innerHTML += ' what to add'; 

這是相同的語法與使用:

status.innerHTML = status.innerHTML + ' what to add'; 
+0

請不要。這是一種很糟糕的技術。 – 2013-04-14 19:16:55

+1

@amnotiam雖然這不是最好的解決方案,並且應該使用DOM修改,但它回答了已經提出的問題。 DOM修改需要對當前存在的代碼進行大量的重寫/更改。 –

+0

重寫比教壞習慣好。雖然這只是簡短的文字,但是非常無害,但在其他情況下可能會很糟糕。 – 2013-04-14 19:38:00

-2

如果您使用JQuery,有一個很簡單的方法來做到這一點使用append()函數。請參閱此鏈接的一些示例:http://api.jquery.com/append/

+0

用戶發佈的代碼不使用jQuery,因此假定他們沒有使用它。 –

+0

雖然這將是對原始問題非常有用的評論 – Ian