基本的には、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" ではありませんし、 のためだけにコードブロック全体を用意するのは愚かなことです-
。
ベストアンサー1
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の場合、slideNum
は3 < 3-1 => false
肯定的なまま??
私にはそれは論理エラーのように見えます。