正数在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是你想要反转的数字