Javascript 多变量和提示

Javascript 多变量和提示,javascript,image,variables,var,prompt,Javascript,Image,Variables,Var,Prompt,所以基本上我需要在回答问题后使用JavaScript和变量使我的站点从一个图像转到另一个图像。如果用户选择1-3(悲伤),则图像将变为悲伤的脸,如果用户选择4-7(中性),则图像将变为中性的脸,如果用户选择8-10(快乐),则网站上的图像将变为快乐的脸。虽然我的代码不起作用,但我已经尝试了所有方法 <head> <title>Mood</title> <meta charset="UTF-8"> <script

所以基本上我需要在回答问题后使用JavaScript和变量使我的站点从一个图像转到另一个图像。如果用户选择1-3(悲伤),则图像将变为悲伤的脸,如果用户选择4-7(中性),则图像将变为中性的脸,如果用户选择8-10(快乐),则网站上的图像将变为快乐的脸。虽然我的代码不起作用,但我已经尝试了所有方法

    <head>
    <title>Mood</title>
    <meta charset="UTF-8">
    <script>          
        var sad = 1 , sad2 = 2, sad3 = 3; 
        var n1 = 4, n2 = 5, n3 = 6, n4 = 7;
        var h1 = 8, h2 = 9, h3 = 10;  

        var x = prompt("What is your mood from 1-10? 1 being sad, 10 being Happy.","What is your mood?"); 
            if(x === sad || x === sad2 || x === sad3){
                document.getElementByTagName("img").src = "sad.png";
                document.getElementById("msg").innerHTML = "Sad.";
                document.getElementById("msg").href = "http://www.sad.com";
            }
            else if(x === n1 || x === n2 || x === n3 || x === n4){
                document.getElementByTagName("img").src = "neutral.png";
                document.getElementById("msg").innerHTML = "Neutral.";
                document.getElementById("msg").href = "http://www.neutral.com";
            }
            else if(x === h1 || x === h2 || x === h3){
                document.getElementByTagName("img").src = "happy.png";
                document.getElementById("msg").innerHTML = "Happy.";
                document.getElementById("msg").href = "http://www.happy.com";
            }
    </script>
</head>
<body style="text-align:center">
    <img src="neutral.png">
    <h1><a id="msg" href="">Waiting...</a></h1>
</body>

情绪
变量sad=1,sad2=2,sad3=3;
变量n1=4,n2=5,n3=6,n4=7;
变量h1=8,h2=9,h3=10;
var x=提示(“你从1到10的心情是什么?1悲伤,10快乐。”,“你的心情是什么?”);
如果(x==sad | | x==sad2 | | x==sad3){
document.getElementByTagName(“img”).src=“sad.png”;
document.getElementById(“msg”).innerHTML=“Sad。”;
document.getElementById(“msg”).href=”http://www.sad.com";
}
如果(x==n1 | | x==n2 | | x==n3 | | x==n4){
document.getElementByTagName(“img”).src=“neutral.png”;
document.getElementById(“msg”).innerHTML=“中立。”;
document.getElementById(“msg”).href=”http://www.neutral.com";
}
else如果(x==h1 | | x==h2 | | x==h3){
document.getElementByTagName(“img”).src=“happy.png”;
document.getElementById(“msg”).innerHTML=“快乐。”;
document.getElementById(“msg”).href=”http://www.happy.com";
}

在我使用NetBeans时,它不会给我任何编码错误,但是我在提示符中输入的任何数字都会显示为空白。

问题似乎是
==
操作符。它在不进行类型转换的情况下检查绝对相等性

在提示中输入1时,它很可能被记录为“1”,即字符串。当您检查是否
x===sad
时,您正在检查“1”是否等于1(它不等于——第一个是字符串,第二个是数字)


要解决这个问题,可以使用较弱的
=
操作符(它将适当地转换类型),或者不将
1
分配给
var sad
,而是分配
“1”

问题似乎是
=
操作符。它在不进行类型转换的情况下检查绝对相等性

在提示中输入1时,它很可能被记录为“1”,即字符串。当您检查是否
x===sad
时,您正在检查“1”是否等于1(它不等于——第一个是字符串,第二个是数字)

要解决此问题,请使用较弱的
==
运算符(该运算符将适当转换类型),或者不将
1
赋值给
var sad
,而是赋值
“1”

提示符()
返回字符串。如果要使用
==
,则应将其与其他字符串进行比较。看这个问题

将所有比较器变量设置为字符串:

// Make Strings
var sad = "1",
    sad2 = "2",
    sad3 = "3";
var n1 = "4",
    n2 = "5",
    n3 = "6",
    n4 = "7";
var h1 = "8",
    h2 = "9",
    h3 = "10";
//

var x = prompt("What is your mood from 1-10? 1 being sad, 10 being Happy.", "What is your mood?");
if (x === sad || x === sad2 || x === sad3) {
    document.getElementByTagName("img").src = "/img/ico/favicon.png";
    document.getElementById("msg").innerHTML = "Sad.";
    document.getElementById("msg").href = "http://www.sad.com";
} else if (x === n1 || x === n2 || x === n3 || x === n4) {
    document.getElementByTagName("img").src = "/img/ico/favicon.png";
    document.getElementById("msg").innerHTML = "Neutral.";
    document.getElementById("msg").href = "http://www.neutral.com";
} else if (x === h1 || x === h2 || x === h3) {
    document.getElementByTagName("img").src = "/img/ico/favicon.png";
    document.getElementById("msg").innerHTML = "Happy.";
    document.getElementById("msg").href = "http://www.happy.com";
}
prompt()
返回一个字符串。如果要使用
==
,则应将其与其他字符串进行比较。看这个问题

将所有比较器变量设置为字符串:

// Make Strings
var sad = "1",
    sad2 = "2",
    sad3 = "3";
var n1 = "4",
    n2 = "5",
    n3 = "6",
    n4 = "7";
var h1 = "8",
    h2 = "9",
    h3 = "10";
//

var x = prompt("What is your mood from 1-10? 1 being sad, 10 being Happy.", "What is your mood?");
if (x === sad || x === sad2 || x === sad3) {
    document.getElementByTagName("img").src = "/img/ico/favicon.png";
    document.getElementById("msg").innerHTML = "Sad.";
    document.getElementById("msg").href = "http://www.sad.com";
} else if (x === n1 || x === n2 || x === n3 || x === n4) {
    document.getElementByTagName("img").src = "/img/ico/favicon.png";
    document.getElementById("msg").innerHTML = "Neutral.";
    document.getElementById("msg").href = "http://www.neutral.com";
} else if (x === h1 || x === h2 || x === h3) {
    document.getElementByTagName("img").src = "/img/ico/favicon.png";
    document.getElementById("msg").innerHTML = "Happy.";
    document.getElementById("msg").href = "http://www.happy.com";
}

所以我把它们都变成了一个字符串,唯一的区别是我只是得到了正常的html中立的微笑,无论我在1-10输入什么,这是我写的代码:var sad=“1”,sad2=“2”,sad3=“3”;变量n1=“4”、n2=“5”、n3=“6”、n4=“7”;var h1=“8”,h2=“9”,h3=“10”;var x=提示(“1-10岁时你的情绪如何?1是悲伤的,10是快乐的”);if(x==sad | | x==sad2 | | | x==sad3){document.getElementByTagName(“img”).src=“s.png”}else if(x==n1 | | x==n2 | x==n3 | | x==n4{document document getElementByTagName(“img”).src=“s.png”}else如果(x==h1 | x==n3 | getElementByTagName=“img”){我已经去掉了img href和innerHTML,因为它最大限度地增加了我可以使用的字符数,但我使用了这个,仍然是一样的。唯一的区别是我得到了中性,并在html初始中的提示后等待。请有人找到图像来替换我的图像,并尝试一下,展示你的技能,使其正确。因此,我可能会学习,就像我们都是程序员/网络程序员一样。请所以我把它们都变成了一个字符串,唯一的区别是我只是得到了正常的html中立的微笑,无论我在1-10输入什么,这是我写的代码:var sad=“1”,sad2=“2”,sad3=“3”;变量n1=“4”、n2=“5”、n3=“6”、n4=“7”;var h1=“8”,h2=“9”,h3=“10”;var x=提示(“1-10岁时你的情绪如何?1是悲伤的,10是快乐的”);if(x==sad | | x==sad2 | | | x==sad3){document.getElementByTagName(“img”).src=“s.png”}else if(x==n1 | | x==n2 | x==n3 | | x==n4{document document getElementByTagName(“img”).src=“s.png”}else如果(x==h1 | x==n3 | getElementByTagName=“img”){我已经去掉了img href和innerHTML,因为它最大限度地增加了我可以使用的字符数,但我使用了这个,仍然是一样的。唯一的区别是我得到了中性,并在html初始中的提示后等待。请有人找到图像来替换我的图像,并尝试一下,展示你的技能,使其正确。因此,我可能会学习,就像我们都是程序员/网络程序员一样。请