1. ホーム
  2. javascript

[解決済み] JavaScriptで正の数から負の数へ?

2022-08-14 15:19:03

質問

基本的には、absの逆です。持っていれば

if ($this.find('.pdxslide-activeSlide').index() < slideNum - 1) {
  slideNum = -slideNum
}
console.log(slideNum)

どんなコンソールでも常に正の数が返されます。どうすれば直るのでしょうか?

そうすれば

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')
}

のためにコードブロック全体を持っているのは、 DRY" ではありませんし、愚かなことです。 - .

どのように解決するのですか?

Math.abs(num) => Always positive
-Math.abs(num) => Always negative

しかし、あなたのコードでは

if($this.find('.pdxslide-activeSlide').index() < slideNum-1){ slideNum = -slideNum }
console.log(slideNum)

見つかったインデックスが3、slideNumが3の場合。

であれば、3 < 3-1 => falseとなります。

ということで、slideNum は正のままです。 ??

私にはロジックエラーのように見えます。