2015-04-05 49 views
0

我是新來的jQuery,如果語句忽略點擊事件中的變量

我試圖做一些非常簡單的事情。點擊事件中的if語句。當我點擊一個按鈕時,如果變量= 1,會發生某些事情,如果它等於別的事情,則發生其他事情。但似乎點擊事件忽略了if語句。它只是運行if語句中的任何內容。

我的代碼:

HTML:

<button type="button" class="one">Press</button> 
<button type="button" class="two">section 2</button> 
<button type="button" class="three">section 3</button> 
<div class="textbox"> 
<h1>hi</h1> 
<p>text</p> 
</div> 

的Jquery:

var y = '.textbox p' 
var n = 20 

$('.one').click(function() { 
    if (n=1) { 
    $(y).html("hi hi <br> hi <br><br>"); 
    $('.textbox h1').html("titulo"); 
    var a=0 
    } 
}); 

$('.two').click(function() { 
    if (n=1) { 
    $('.textbox p').html("hey <br> hi <br><br>"); 
    $('.textbox h1').html("sup bro"); 
    var a=0 
    } 
    else { 
    $('.textbox p').html("variable is not 1"); 
    $('.textbox h1').html("another"); 
    var a=0 
    } 
}); 

即使我設置變量= 20,單擊事件運行無論是if語句內。這就像它忽略了變量或if語句。

所以我不知道什麼是錯的。發生了什麼?

+1

'n = 1'正在分配,而不是比較。只是拼命'n == 1' – Grundy 2015-04-05 10:49:41

+0

你沒有比較n,你正在賦值n,當賦值給大於零的任何值時返回true。 – bloodyKnuckles 2015-04-05 10:50:39

回答

2

一個等號(=)設置變量的值。 var foo = "bar";將設置foo以存儲bar

你想使用兩個等號(==),這是一個comparison operator(foo == "bar")將檢查foo是否等於bar

+0

非常感謝,所以我終於可以完成我的滑塊。我被這件事困住了。我會邀請所有人在這裏喝一杯啤酒,但我們距離數千公里,所以這是不可能的。非常感謝你,祝你有美好的一天。 – McLovin 2015-04-06 03:15:30