2014-12-26 44 views
0

有人可以幫助我爲什麼得到這個錯誤?JavaScript - 未捕獲ReferenceError:我的函數未定義

未捕獲的ReferenceError:selected_1沒有定義

未捕獲的ReferenceError:selected_2沒有定義

這裏是我的代碼:

<img src="/css/img/firstRoom_selected.png" onclick="selected_1()" id="firstRoom" style="cursor:pointer;"> 
<img src="/css/img/secondRoom.png" onclick="selected_2()" style=" cursor:pointer;"> 

<script> 
$(document).ready(function() { 
    function selected_1() { 

    if (document.getElementById("firstRoom").src == "/css/img/firstRoom.png") 
    { 
     document.getElementById("firstRoom").src = "/css/img/firstRoom_selected.png"; 
    } 
} 

    function selected_2() { 

    if (document.getElementById("firstRoom").src == "/css/img/firstRoom_selected.png") 
    { 
     document.getElementById("firstRoom").src = "/css/img/firstRoom.png"; 
     document.getElementById("secondRoom").src = "/css/img/secondRoom_selected.png"; 
    } 
} 
}); 
</script> 

非常感謝提前! :)

+0

你有沒有試着寫 – pkrawat1

+0

您要附加的事件處理程序之前,DOM是準備好,但定義功能,當DOM準備 – andrew

+0

範圍問題,再次... – Leo

回答

0

你沒有必要使用$(document).ready

<img src="/css/img/firstRoom_selected.png" onclick="selected_1()" id="firstRoom" style="cursor:pointer;"> 
<img src="/css/img/secondRoom.png" onclick="selected_2()" style=" cursor:pointer;"> 

和JS:

<script> 
    function selected_1() { 

    if (document.getElementById("firstRoom").src == "/css/img/firstRoom.png") 
    { 
     document.getElementById("firstRoom").src = "/css/img/firstRoom_selected.png"; 
    } 
} 

    function selected_2() { 

    if (document.getElementById("firstRoom").src == "/css/img/firstRoom_selected.png") 
    { 
     document.getElementById("firstRoom").src = "/css/img/firstRoom.png"; 
     document.getElementById("secondRoom").src = "/css/img/secondRoom_selected.png"; 
    } 
} 
</script> 
+0

好的,謝謝腳本標記後的圖像標籤!但是現在當我點擊其中一個圖像時沒有任何反應? – Chris

0

它最好能夠做到這一點是這樣的:

$(function(){ 
    $('#firstRoom').click(selected_1) 
}) 
0

您已經在使用$document.ready的另一個匿名函數中定義了您的函數,因此它不可見全球範圍。

您的圖像正在尋找selected_1selected_2在全球範圍內,因此無法找到它。

定義功能外$(document).ready處理

,如果你想處理程序中使用的功能,然後點擊附加功能做好準備處理程序內。試試這個腳本

你也應該看看預載圖片,這將是另一個問題。

<script> 
    function selected_1() { 
    if (document.getElementById("firstRoom").src == "/css/img/firstRoom.png") { 
     var image = new Image() 
     image.src = "/css/img/firstRoom_selected.png"; 
     document.getElementById("firstRoom").src = image.src 
    } 
} 

    function selected_2() { 
    if (document.getElementById("firstRoom").src == "/css/img/firstRoom_selected.png") { 
     var image = new Image() 
     image.src = "/css/img/firstRoom.png"; 
     document.getElementById("firstRoom").src = image.src 

     var image2 = new Image() 
     image2.src = "/css/img/secondRoom_selected.png"; 
     document.getElementById("secondRoom").src = image2.src 
    } 
} 
</script> 
相關問題