繁体   English   中英

我可以正确调用我的JavaScript函数吗?

[英]Am I calling my JavaScript Function correctly?

我是Java语言的新手。

我正在制作我的第一个冒险游戏。

我用onClick测试了以下代码,它工作正常:

// JavaScript Document
function changeColour() 
{
    if (document.getElementById('colourTest').style.backgroundColor='yellow') 
    {
        document.getElementById('colourTest').style.backgroundColor='red';
    }
    else
    {
        document.getElementByID('colourTest').style.backgroundColor='yellow';
    }
}

var direction;

direction = prompt("Which direction would you like to go ?");

if ( direction == "North" )
{
    changeColour();
}
else
{
    console.log("You can't go in that direction ?");    
}

这是HTML:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script language="javascript" type="text/javascript" src="Scarry_Adventure_Game.js"></script>
<link rel="stylesheet" href="Scarry_Adventure_Game.css" type="text/css">
</head>

<body>
    <div id="colourTest">
    </div>
</body>
</html>

我希望当用户输入North时Yellow div变为红色,否则,将告诉用户不能朝该方向前进。

我确定这是某种语法错误:D

嗨,这是更新:

HTML:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script  type="text/javascript" src="Scarry_Adventure_Game.js"></script>
<script  type="text/javascript" ></script>
<link rel="stylesheet" href="Scarry_Adventure_Game.css" type="text/css">

</head>

<body onload="load();">

        <img id="myimg" alt="My Image" src="images/image1.jpg" />
        <form>
            <input name="heading" type="text" id="which" value="" />    
        </form>

</body>
</html>

这是JS:

   // JavaScript Document

        var img = new Image();
        img.src = "images/image1.jpg";



function whichImage(b)
{
    var image = document.getElementById("myimg");

    if (b == "North")
    {
        image.src = "images/image2.jpg";
    }
    else
    {
        image.src = "images/image1.jpg";
    }
}

function whichDirection (x) 
{
    if (x == "North" || x == "South" || x == "East" || x == "West" ) 
    {
        document.write("You choose to go " + direction);
    }
    else
    {
        document.write("You can't go in that direction");
    }
}

function load()
{
    var direction = document.getElementById('which').value;

    whichDirection(direction);
    whichImage(direction);


}

我不明白,当用户输入北字时,为什么用户输入的方向不允许图像更改为image2.jpg。

JS可以实际捕获来自html的文本输入,然后将其与函数中的变量一起使用吗?

而且,在此版本中,由于没有图像可见,因此DOM似乎未加载。

我立即看到的两个错误(可能还有更多)是...

if (document.getElementById('colourTest').style.backgroundColor='yellow')

您要分配而不是进行比较 使用==进行比较(就像在其他地方一样)。 和...

document.getElementByID('colourTest').style.backgroundColor='yellow';

JavaScript区分大小写。 函数名称应为getElementById (与在其他地方一样)。


在这种情况下,存在逻辑错误和语法错误。 通常可以通过在浏览器的调试工具中查看JavaScript控制台来注意到后者。 如果它尝试执行该行代码,则将在此处看到错误。 另一方面,逻辑错误可能很难确定。 对于那些用户,您需要熟悉浏览器调试工具中的调试器。

您可以单击JavaScript代码的特定行来设置“断点”,在该处代码的执行将暂停。 暂停后,您可以检查变量的运行时值,逐行执行以检查其行为,等等。这是验证代码是否正在按预期执行的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM