正数在JavaScript中的负数?
基本上,ABS的相反。 如果我有:
if($this.find('.pdxslide-activeSlide').index() < slideNum-1){ slideNum = -slideNum } console.log(slideNum)
不pipe什么控制台总是返回一个正数。 我该如何解决?
如果我做:
if($this.find('.pdxslide-activeSlide').index() < slideNum-1){ _selector.animate({left:(-slideNum*sizes.images.width)+'px'},750,'InOutPDX') } else{ _selector.animate({left:(slideNum*sizes.images.width)+'px'},750,'InOutPDX') }
它适用于tho,但它不是“干”,只是愚蠢的有整个代码只是为了-
Math.abs(num) => Always positive -Math.abs(num) => Always negative
然而,你知道你的代码
if($this.find('.pdxslide-activeSlide').index() < slideNum-1){ slideNum = -slideNum } console.log(slideNum)
如果find的索引是3并且slideNum是3,
那么3 <3-1 =>错误
所以slideNum 仍然是积极的 ?
这对我来说更像是一个逻辑错误。
abs的Math.abs(num) * -1
是Math.abs(num) * -1
。
将正面转向负面或负面转向正面的基本公式:
i - (i * 2)
你确定控制进入了if
的身体吗? 在这种情况下,这种if
是否成立? 因为如果没有,if的主体将永远不会被执行, slideNum
将保持正面。 我会冒险猜测这可能是你所看到的。
如果我在Firebug中尝试以下内容,似乎可行:
>>> i = 5; console.log(i); i = -i; console.log(i); 5 -5
slideNum *= -1
也应该工作。 同Math.abs(slideNum) * -1
。
要在JavaScript中获得一个负数的数字,你可以使用~
位运算符。
例如,如果你有a = 1000
,你需要将其转换为负值,你可以执行以下操作:
a = ~a + 1;
这会导致-1000。
如果你不喜欢使用Math.Abs * -1,你可以这么简单,如果声明:P
if (x > 0) { x = -x; }
当然,你可以使这个function是这样的
function makeNegative(number) { if (number > 0) { number = -number; } }
makeNegative(-3)=> -3 makeNegative(5)=> -5
希望这可以帮助! Math.abs将可能为你工作,但如果它不这样做
使用0 – x
x是你想要反转的数字