[英]JavaScript - Uncaught ReferenceError: my function is not defined
can somebody help why i get this error? 有人可以帮助我为什么会收到此错误吗?
Uncaught ReferenceError: selected_1 is not defined 未捕获的ReferenceError:未定义selected_1
Uncaught ReferenceError: selected_2 is not defined 未捕获的ReferenceError:未定义selected_2
Here is my code: 这是我的代码:
<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>
Thanks a lot in advance! 在此先多谢! :)
:)
Your no need to use $( document ).ready
您无需使用
$( 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;">
And js: 和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>
It'd be better to do it like this: 最好这样做:
$(function(){
$('#firstRoom').click(selected_1)
})
You've defined your functions inside another anonymous function using $document.ready
, hence it's not visible to the global scope. 您已经使用
$document.ready
在另一个匿名函数中定义了函数,因此它在全局范围内不可见。
Your images are looking for selected_1
and selected_2
in the global scope and hence couldn't find it. 您的图像正在全局范围内寻找
selected_1
和selected_2
,因此找不到它。
define your function outside $(document).ready
handler 在
$(document).ready
处理程序之外定义函数
if you wish to use functions within handler then attach click handlers within ready function. 如果您希望在处理程序中使用函数,则将点击处理程序附加在ready函数中。 try this script
试试这个脚本
you should also look into preloading images, that will be another question. 您还应该考虑预加载图像,这将是另一个问题。
<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.