2010-12-09 58 views
2

我已經打破我的頭在這個「簡單」的JavaScript代碼段:如何使用JavaScript OR運算符?

$("#hitbox").mouseleave(function() { 
    if($("#sub-wrapper-1").height() < 179 || $("#sub-wrapper-2").height() < 179) {  
    $("#hitbox").animate({ "height" : '0px' }, 800), 
    } else { 
    $("#hitbox").stop(); 
    } 
}); 

難道你們輕移我如何在JavaScript中使用OR操作正確的方向?上面的代碼不會拋出任何錯誤,但它看起來像運行AND運算符那樣的函數。

+0

你的意思是`||`?不,那真的是快捷鍵或運算符。我首先調試height()結果,例如首先將它們讀入變量,以便您可以在調試器中檢查它們或將它們警告(警告)。 – Rup 2010-12-09 12:33:59

+1

它不是jquery或者你正在尋找,它的JavaScript或 – 2010-12-09 12:36:48

回答

5

你OR操作是正確的(其實你的情況是簡單的JavaScript!)

看來你這裏有一個錯誤

$("#hitbox").animate({ "height" : '0px' },800), 

修復它作爲

$("#hitbox").animate({ height : '0px' },800); 
2

我找到有時JS運算符(在這種情況下,你的||或)不會比較整個子句,只有下一個子句開始。你可能想嘗試用這樣的方式來包裝你的子句w/parens:

if(($(「#sub-wrapper-1」)。height()< 179)||($(「#sub-wrapper- 2「)。height()< 179))