【发布时间】:2011-10-01 13:58:28
【问题描述】:
我有一个问题,为什么我的 if-else 语句不起作用。
我有一个带有文本输入的表单,当用户输入他们想要的大小时,它应该实时编辑图片。我正在使用 jQuery 中的 addclass 和 removeclass 方法。这是我的脚本:
function slide() {
var n = Number(document.getElementById('Getal1').value)
if (n >= 101 && n < 201)
$(openDiv1());
else if(n > 200)
$(openDiv2());
else if(n >= 0 && n < 101)
$(closeDiv());
else {
alert("You did not enter a number!")
}
}
$(function openDiv1() {
$( "#ombouw_wrap" ).addClass( "Addclass_ombouw_wrap_2block", 1, callback );
return false;
});
function callback() {
setTimeout(function() {
$( "#midden" ).removeClass( "Addclass_ombouw_wrap_1block Addclass_ombouw_wrap_3block" );
}, 0 );
}
$(function openDiv2() {
$( "#ombouw_wrap" ).addClass( "Addclass_ombouw_wrap_3block", 1, callback );
return false;
});
function callback() {
setTimeout(function() {
$( "#midden" ).removeClass( "Addclass_ombouw_wrap_1block Addclass_ombouw_wrap_2block" );
}, 0 );
}
$(function closeDiv() {
$( "#ombouw_wrap" ).addClass( "Addclass_ombouw_wrap_1block", 1, callback );
return false;
});
function callback() {
setTimeout(function() {
$( "#midden" ).removeClass( "Addclass_ombouw_wrap_2block Addclass_ombouw_wrap_3block" );
}, 0 );
}
window.onload = closeDiv;
这是我的 HTML 代码:
Lengte: <INPUT TYPE="text" NAME="numeric" onKeyup="slide()" id="Getal1" onKeyPress="return checkIt(evt)">
x Hoogte: <input type="text" ID="Getal2" onKeyPress="return checkIt(evt)">
x Diepte: <input type="text" ID="Getal3" onKeyPress="return checkIt(evt)">
</form>
当您重新加载页面时,您会看到它不是以 closedivs 开头,而是直接从添加类开始而不执行 if-else 语句。
我在这里做错了什么?
【问题讨论】:
-
您的 if else if 语句没有使用括号。
-
只是对您的代码的建议。在您的代码中始终使用英语。像 ID="Getal2"。您应该使用英语,因为它可能会被非荷兰人使用/编辑(例如在 stackoverflow 上的这种情况下)。它对代码更有意义。只是一个荷兰人给另一个荷兰人的建议:)
-
像 if (n>=101 && n
-
@jayp 括号不需要 1 行 if-else 语句(1 行执行)
-
它们不是必需的,但他编写代码的方式不一致。一些语句后有括号,其他语句后没有括号。那是我的观点。因此是评论,而不是答案。
标签: javascript jquery if-statement