我想比較兩個負數,並且比較失敗。在這個特定情況下,getLeftPercent()
是一個負數(-14),但比較時,執行動作B.邏輯上,(-14)小於(-10),因此應執行操作A.比較JQuery函數中的負數
如果我將右側比較操作數(-10)更改爲正數(例如1),則執行操作A.是否有一些我可以忽略的JavaScript的怪癖(它盯着我的臉)?我可以發佈完整的代碼,但沒有更多。
$(function() {
// the statement in question
if (parseInt(getLeftPercent(), 10) < -10) {
// do action A
// this is just a debug statement
$('#posbanner').html('element position is less than negative 10');
} else {
// do action B
// this is just a debug statement
$('#posbanner').html('element position is greater than or equal to negative 10');
}
});
// element left position on page
function getLeftPercent() {
var leftStr = $('#sidebar').css('left'),
pxPos = leftStr.indexOf('px'),
leftVal = leftStr.substr(0, pxPos),
leftPercent = (leftVal/$(window).width() * 100).toString(),
dotPos = leftPercent.indexOf('.'),
leftPercentStr = dotPos == -1 ? leftPercent : leftPercent.substr(0, dotPos);
return leftPercentStr;
};
getLeftPercent()返回的實際字符串值是什麼? –
添加'console.log(getLeftPercent())'並在控制檯中檢查結果(Chrome/Firefox中的Ctrl + Shift + J) –
獲得FF的firebug並逐步調試,應該能夠輕鬆發現問題 – Huangism