【问题标题】:How to toggle a variable from true to false如何将变量从真切换为假
【发布时间】:2011-03-29 19:09:09
【问题描述】:

我有这个设置:http://jsfiddle.net/patrioticcow/yJPGa/5/

我不知道如何在真或假变量之间切换。代码如下:

<div class="test" id="id_test">Some Content...</div>
<div style="display: none" id="id_test">Some Other Content...</div>
<div>
  <button id="disable">Save</button>
  <button id="enable">Edit</button>
</div>

js

var logged_in = false;

$("#disable").click(function() {
  logged_in == true;
  alert (logged_in);
});

$("#enable").click(function() {
  logged_in == false;
  alert (logged_in);
});

if (logged_in == true) {
  $("#id_test").find(".test").removeClass(".test").addClass(".test_hidde");
}

css

.test{color: red;font-size: 16px;}
.test_hidde{color: #000;font-size: 26px;}

【问题讨论】:

  • 现在,logged_in 根本没有改变。点击函数里面,你是指logged_in = true;logged_in = false;吗?

标签: jquery button toggle


【解决方案1】:
logged_in = !logged_in

会成功的。

另外,这两行是一样的:

if (logged_in == true)
if (logged_in)

【讨论】:

  • 这有时会在重新点击时返回 false(同样适用于 true)
  • 测试了一下,发现使用没有问题。似乎这是最好的解决方案,+1!证明:jsfiddle.net/bAKa6/1
  • javascript 切换/切换变量真/假的绝佳简写。
【解决方案2】:

在这里,你去玩小提琴:http://jsfiddle.net/maniator/yJPGa/7/

换行:logged_in == true; ==> logged_in = true;
logged_in == true; ==> logged_in = false;

== 表示布尔检查,而= 将某些内容设置为等于其他内容


这是一个修复了 if 语句的小提琴:http://jsfiddle.net/maniator/yJPGa/8/

语句必须封装在一个函数中

【讨论】:

  • 感谢您的回复,但 if 语句由于某种原因不起作用
猜你喜欢
  • 2012-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多