如果 JavaScript 中的 Else 语句
If Else statement in Javascript
>我在我的网站上创建了一个开关。它的工作原理类似于电灯开关。当人们点击它时,背景颜色和某些文本段落的颜色将切换到不同的颜色。我编写了下面的代码并成功完成了任务:
$(".clickme").click(function () {
$('html').css('background-color', 'black');
$('#top_nav a').css('color', '#ff7b00');
$('.back_face').css('background-color', 'black');
return false;
});
但现在我想重新打开灯。我创建了一个名为lighton的var,并将其设置为0。我尝试使用 if else 语句来完成任务,但它不起作用。下面是我编写但失败的代码:
<a href="" class="clickme">Click me</a>
<script>
$(".clickme").click(function () {
var lightoff = 0;
if (lightoff=0){
$('html').css('background-color', 'black');
$('#top_nav a').css('color', '#ff7b00');
$('.back_face').css('background-color', 'black');
lightoff = 1;
return false;
}else{
$('html').css('background-color', 'white');
$('#top_nav a').css('color', 'black');
$('.back_face').css('background-color', 'white');
lightoff = 0;
return false;
}
});
</script>
我最近刚开始学习JavaScript,我已经检查了JavaScript条件语句语法。所以我希望有人知道我的代码出了什么问题。非常感谢。
你需要使用 if (lightoff==0){
.
=
是赋值运算符,而==
是比较运算符。
在条件中使用赋值运算符时,将计算分配的值,因此(lightoff=0)
将始终计算为 0
,然后将其转换为false
。在条件中使用赋值运算符的最常见情况是赋值时,例如 ( lightoff = checkIfLightIsOff() )
由于您希望在对回调方法的多个调用中使用 lightoff
的值,因此应该在处理程序方法的作用域之外定义它,以便对该方法的多个调用将共享同一个实例lightoff
另外,正如@zzlalani指出的那样,=
运算符代表分配,您需要的是比较器运算符
==
它应该是
var lightoff = 0;
$(".clickme").click(function () {
if (lightoff==0){
$('html').css('background-color', 'black');
$('#top_nav a').css('color', '#ff7b00');
$('.back_face').css('background-color', 'black');
lightoff = 1;
return false;
}else{
$('html').css('background-color', 'white');
$('#top_nav a').css('color', 'black');
$('.back_face').css('background-color', 'white');
lightoff = 0;
return false;
}
});
我不是 Javascript 专家,但看起来你使用了"="而不是"==",这会将变量设置为 0 而不是比较它。
而不是=
你应该使用==
或===
:
-
=
是赋值运算符 -
==
等于 ie,
x==8 假
x==5 真 -
===
完全等于(相等值和相等类型(,即,
x==="5" 假
x===5 真
其他一些情况:
'' == '0' // false 0 == '' // true 0 == '0' // true false == 'false' // false false == '0' // true false == undefined // false false == null // false null == undefined // true
另一种方法是切换事件
$(".clickme").toggle(function () {
$('html').css('background-color', 'black');
$('#top_nav a').css('color', '#ff7b00');
$('.back_face').css('background-color', 'black');
return false;
}, function() {
$('html').css('background-color', 'white');
$('#top_nav a').css('color', 'black');
$('.back_face').css('background-color', 'white');
return false;
});
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 如何检查if/else语句中的随机条件
- Javascript else(如果不适用于所有语句)
- 在Javascript中为if/else语句添加OR
- geoTest函数-创建if/else语句
- 如何在javascript中的if或else块中运行一条jsp语句
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- 编写if-else语句的更好方法
- Javascript if和else语句不起作用
- 为什么它立即跳到我的else语句
- 空变量的 else 语句
- 在if/else语句中显示DIV
- 由 if / else 语句中的无效语法导致的语法错误
- 我可以用javascript中的switch或case语句重构if-else吗
- jQuery 验证正在复制 else 语句 |验证完成后,不会打印值
- JavaScript if else 语句来显示 html 标签
- 如何做if/else语句并使用控制台.log打印出来
- 此 JavaScript 代码无法正常工作(if-else 语句)
- JqueryUI,多个ID和else if 语句在可丢弃,我如何让它们工作
- 如果不工作,则多条语句else