2013-07-22 91 views
0

我有一個我正在寫的腳本,它運行一個函數來在按鈕被擊中時改變圖片。下面的腳本第一次改變了圖片,但下次用相同的腳本運行不同的變量時,它似乎沒有考慮到最新的變量。做了一個JavaScript函數,每刷新只能運行一次變量?? (switch:case)

<div id="main_img"> 
<center> 
<button style="width:100;height:100" onClick="LastPic();"><---</button> 
<img id="img" src="12.jpg" height=70% width=70%> 
<button style="width:100;height:100" onClick="FirstPic();">---></button> 
</div> 

<script> 
var james = document.getElementById("img").getAttribute('src'); 

document.write(james); 

function FirstPic() { 
    switch (james) { 
    case "12.jpg": 
     document.getElementById("img").src = "13.jpg"; 
     break; 

    case "13.jpg": 
     document.getElementById("img").src = "14.jpg"; 
     break; 


    default: 
     alert('Default case'); 
     break; 
    } 
} 
</script> 
+0

可能重複的[javascript開關情況不能正常工作?](http://stackoverflow.com/questions/17779727/javascript-switch-case-not-working-properly) –

+0

我剛剛在他的第一個回答問題完全一樣,解決了問題。 –

回答

2
var james = document.getElementById("img").getAttribute('src'); 
document.write(james); 

function FirstPic() 
{ 
    // Get the new value every time the function is called 
    james = document.getElementById("img").getAttribute('src'); 

    switch (james) 
    { 
     case "12.jpg": 
      document.getElementById("img").src = "13.jpg"; 
      break; 

     case "13.jpg": 
      document.getElementById("img").src = "14.jpg"; 
      break; 

     default: 
      alert('Default case'); 
      break; 
    } 
} 
+1

多謝先生 – Shawn

+0

WTF?很久以前我在你的其他問題上回答了這個問題...... –

2

你挑選源屬性中只執行一次全球範圍內聲明

var james = document.getElementById("img").getAttribute('src'); 

嘗試在該函數第一張圖

function FirstPic(){ 
    var james = document.getElementById("img").getAttribute('src'); 

    switch (james) 
    { 
     .... 
    } 
} 

希望幫助初始化。 :)

相關問題