2011-03-29 53 views
3

我有這樣的設置: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;} 
+2

被封裝眼下,'logged_in'是不會改變的。在點擊函數中,你的意思是'logged_in = true;'和'logged_in = false;'? – gailbear 2011-03-29 19:14:22

回答

3

這裏亞走了小提琴: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/

聲明在功能

+0

感謝您的迴應,但if語句因某種原因不起作用 – Patrioticcow 2011-03-29 20:06:06

+0

如果聲明怎麼辦? – Neal 2011-03-29 20:06:36

+0

@Patrioticcow我編輯我的答案上面 – Neal 2011-03-29 20:09:25

28
logged_in = !logged_in 

會做的伎倆。

而且,這兩條線是相同的:

if (logged_in == true) 
if (logged_in) 
+0

這會在reclick上有時會返回false(同樣也適用於true) – Neal 2011-03-29 20:05:43

+1

對它進行了測試,發現使用它時沒有問題。似乎是最好的解決方案,+1! 證明:http://jsfiddle.net/bAKa6/1/ – Shebo 2013-05-10 09:20:12

+0

JavaScript切換/切換變量true/false的絕佳速記。 – 2013-05-13 22:21:28