<p id="demo"></p>
<p id="demo2"></p>
<script>
function myFunction(x, y) {
var mess2;
var x = document.getElementById("id1").value;
var y = document.getElementById("id2").value;
var z = Math.abs(+ x) + Math.abs(+ y);
if (var z <= 2.50) {
mess2 = "message 1";
} else if (2.50 < var z <= 4.00) {
mess2 = "message 2";
} else if (4.00 < var z <= 5.00) {
mess2 = "message 3";
} else {
mess2 = "message 4";
}
document.getElementById("demo").innerHTML = + mess2;
}
</script>
所以这是我的小功能,我需要用它来显示一些消息,具体取决于用户在输入窗口中写入的输入值。当我只将变量z作为数字输出时,代码工作正常,但是当我添加这个函数时它没有输出
有什么建议吗? 谢谢你:))
答案 0 :(得分:4)
function myFunction() { // no arguments here, x and y are calculated inside function
var mess2;
var x = document.getElementById("id1").value;
var y = document.getElementById("id2").value;
var z = Math.abs(x) + Math.abs(y); // Calculate z based on x and y
if (z <= 2.50) { // is z <= 2.50 ?
mess2 = "message 1";
} else if (z <= 4.00) { // is z <= 4.00 ? (we know it's z > 2.50)
mess2 = "message 2";
} else if (z <= 5.00) { // is z <= 5.00 ? (we know it's z > 4.00)
mess2 = "message 3";
} else {
mess2 = "message 4"; // is z > 5.00?
}
document.getElementById("demo").innerHTML = mess2; // Change html of "demo" to the message
}
请参阅此JSFiddle
答案 1 :(得分:1)
变化:
document.getElementById("demo").innerHTML = + mess2;
为:
document.getElementById("demo").innerHTML += mess2;
并且您也不需要一直使用'var'关键字,它仅用于声明。
检查这个小提琴: https://jsfiddle.net/8cLegxbj/
答案 2 :(得分:1)
这是因为你在if语句中声明了变量z。 在if语句之后声明一次,一切都会好的
答案 3 :(得分:1)
检查一下:
您正在通过一些输入ID访问x和y的值(根据我对您的代码的理解),因此不需要传递函数参数。
如果您已经在上面声明了条件,则无需声明var。
if(4&lt; z&lt; = 5)将始终返回true而不考虑z值,因此您应该使用逻辑运算符。
添加了一个按钮来调用myFunction()。
function myFunction() {
var mess2;
var x = document.getElementById("id1").value;
var y = document.getElementById("id2").value;
var z = Math.abs(+x) + Math.abs(+y);
if (z <= 2.50) {
mess2 = "message 1";
} else if (2.50 < z && z <= 4.00) {
mess2 = "message 2";
} else if (4.00 < z && z <= 5.00) {
mess2 = "message 3";
} else {
mess2 = "message 4";
}
document.getElementById("demo").innerHTML = mess2;
}
答案 4 :(得分:-1)
我做了一些更改,请在此处查看示例 - https://jsfiddle.net/ugoxr5m8/2/
<p id="demo">
</p>
function myFunction(x, y) {
var mess2;
//var x = document.getElementById("id1").value;
//var y = document.getElementById("id2").value;
var z = Math.abs(+x) + Math.abs(+y);
if (z <= 2.50) {
mess2 = "message 1";
} else if (2.50 < z <= 4.00) {
mess2 = "message 2";
} else if (4.00 < z <= 5.00) {
mess2 = "message 3";
} else {
mess2 = "message 4";
}
document.getElementById("demo").innerHTML = mess2;
}
myFunction(1, 2);