2

我正在用 javaScript 编写我的第一个代码。

我想做这个 :-

  • 加载图像
  • 询问用户名
  • 写完名字后换头像
  • 并在警报中显示用户名

我的代码是这样的,

<!DOCTYPE html>
<html>
<head>
<title>iRock - First Project</title>
<script type = "text/javascript">

function touchRock(){

    var userName = prompt ("what is your name?","Enter your name here.");

    if(userName){
        alert("It is good to meet you, " "+userName+ " ".");
        document.getElementById("firstImg").src="1.jpg";
    }
}

</script>
</head>

<body onload = "alert('hello, I am your pet.');">
        <div style = "margin-top:100px; text-align:centre">
                 <img id="firstImg" src="http://www.smiley-faces.org/wallpaper/smiley-face-wallpaper-widescreen-001.jpg" alt="iRock" style="cursor:pointer" onclick="touchRock()" />
        </div>
    </body>
</html>

谁能告诉我这有什么问题?因为在触摸图像后没有调用事件。

4

3 回答 3

7

您的字符串连接在函数内部是错误的

alert("It is good to meet you, " "+userName+ " ".");您一定在控制台中遇到错误。

检查这个

function touchRock(){

    var userName = prompt ("what is your name?","Enter your name here.");

    if(userName){
        alert("It is good to meet you, " + userName +  ".");
        document.getElementById("firstImg").src="1.jpg";
    }
}

如果您使用的是 Chrome。按 F12 --> 您将启用开发人员工具栏,因为将有一个控制台,您可以在其中查看任何错误、调试 javascript 检查元素等。同样,您有 FireFox 的 Firebug 和 Int Explorer 的 DevToolbar。

Chrome 中的脚本调试器 - 参考

于 2013-05-06T19:37:06.373 回答
1

我想你可以使用 alert("很高兴认识你, "+ userName + "." ) ;

而不是alert("很高兴认识你," "+userName+ " ".");

据我所知,在 javascript 中,我们通常使用“+”符号进行连接。

于 2013-05-10T08:56:24.360 回答
1

您没有在警报中正确执行字符串连接。

改变这个:

alert("It is good to meet you, " "+userName+ " ".");

对此:

alert("It is good to meet you, " + userName + ".");

要将两个字符串连接在一起,+ 运算符必须位于字符串之外。

var newString = "I am " + "a concatenated string";
于 2013-05-06T19:50:22.080 回答