2014-12-26 43 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> 
相关问题