我已经尝试过一切。我不知道该怎么办。它无法正常工作
function load() {
if(acc == "a")
var d = document.getElementById('sn');
d.style.display='block';
var b = document.getElementById('neas');
b.style.display='none';
if(acc == "n")
var d = document.getElementById('sn');
d.style.display='none';
var b = document.getElementById('neas');
b.style.display='block'; }
我的头:
<script language="JavaScript">
day = new Date();
hour = day.getHours();
if (hour>=3 && hour<2)
acc = "a";
else { acc = "n"; }
</script>
<script language="JavaScript">
function load() {
var d = document.getElementById('sn');
var b = document.getElementById('neas');
if(acc == "a") {
d.style.display='block';
b.style.display='none';
} else if(acc == "n") {
d.style.display='none';
b.style.display='block';
}
}
</script>
我的身体:
<input type="password" maxlength="20" id="sn" style="width: 180px; height: 25px; background-image: url(bginput.gif); border:0; padding-left: 5px; padding-right: 5px; color: #0099cc; text-align: center;" value="">
<input type="text" id="neas" style="width: 180px; height: 25px; background-image: url(bginput.gif); border:0; padding-left: 5px; padding-right: 5px; color: #0099cc; text-align: center;" value="You are unable to enter." readonly>
对不起家伙们提出愚蠢的问题,我是JS的初学者。
答案 0 :(得分:2)
替换if(acc = "a")
if(acc == "a")
=是赋值运算符
其中==
是比较运算符
function load() {
var d = document.getElementById('sn');
var b = document.getElementById('neas');
if (acc = "a") {
d.style.display = 'block';
b.style.display = 'none';
}
if (acc = "n") {
d.style.display = 'none';
b.style.display = 'block';
}
}
答案 1 :(得分:1)
您有一些语法错误。你似乎缺少一些大括号,比较运算符也应该是==
而不是=
。尝试:
function load() {
if (acc == "a") {
var d = document.getElementById('sn');
d.style.display = 'block';
var b = document.getElementById('neas');
b.style.display = 'none';
}
if (acc == "n") {
var d = document.getElementById('sn');
d.style.display = 'none';
var b = document.getElementById('neas');
b.style.display = 'block';
}
}
编辑:
你的逻辑似乎也存在差距。 acc从哪里获得价值?此外,您可以设置对象d
和b
一次,然后在if语句中只更改其显示属性,如下所示:
function load() {
var d = document.getElementById('sn');
var b = document.getElementById('neas');
if (acc = "a") {
d.style.display = 'block';
b.style.display = 'none';
}
if (acc = "n") {
d.style.display = 'none';
b.style.display = 'block';
}
}
答案 2 :(得分:1)
请务必在if
中附上{}
条款。在比较时也使用==
而不是=
,=
是一个赋值运算符,因此不会传递if
子句。
function load() {
var d = document.getElementById('sn');
var b = document.getElementById('neas');
if(acc == "a"){
d.style.display='block';
b.style.display='none';
}
else if(acc == "n"){
d.style.display='none';
b.style.display='block';
}
};
答案 3 :(得分:0)
你会看到缩进的第一个问题:你错过了一些块分隔符。
function load() {
var d = document.getElementById('sn');
var b = document.getElementById('neas');
if (acc == "a") {
d.style.display='block';
b.style.display='none';
} else if (acc == "n") {
d.style.display='none';
b.style.display='block';
}
}
正如PSR所见,您还使用了=而不是==。
我还更改了代码以重用元素声明(尝试DRY),else if
让JS引擎避免无用的测试。