2016-11-07 2 views
1

これはおそらくあなたの数学の達人のためのケーキです。 prevSlideは3-2-1-3-2 ...のようにうまく戻っています。エントリーポイントにかかわらず。しかしnexSlideは1-2-3を開始し、それだけで2-3-2-3 ...私はそれが私の数学角の次と前のナビゲーション数学の論理

$scope.currentIndex = 0; 
$scope.setCurrentSlideIndex = function (index) { 
    $scope.currentIndex = index; 
}; 
$scope.isCurrentSlideIndex = function (index) { 
    return $scope.currentIndex === index; 
}; 
$scope.prevSlide = function() { 
    $scope.currentIndex = ($scope.currentIndex > 0) ? --$scope.currentIndex : $scope.slides.length - 1; 
}; 
$scope.nextSlide = function() { 
    $scope.currentIndex = ($scope.currentIndex < $scope.slides.length -1) ? ++$scope.currentIndex : 1; 
}; 

ヘルプだと確信しています!

答えて

1
$scope.nextSlide = function() { 
    $scope.currentIndex = ($scope.currentIndex < $scope.slides.length -1) ? ++$scope.currentIndex : 0; 
}; 

あなたは、この行の末尾に01を変更する必要があります。インデックス1は、実際には2番目のスライドです。

Slide #: 1 -- 2 -- 3 
Index #: 0 -- 1 -- 2 
+0

ゴールデン!どうもありがとう! – LOTUSMS

1

コンテキストに合わせて変更する必要がありますが、機能previous()next()のロジックが役立ちます。

var numSlides = 3; 

function previous(current){ 
    current--; 
    return current >= 0 ? current : numSlides; 
} 

function next(current){ 
    current++; 
    return current <= numSlides ? current : 0; 
} 
+2

クロック演算には常にモジュロ(%)演算子を使用できます。 'return(++ current)%numSlides' – soote

+1

これは純粋なjavascriptのための良い解決策ですが、それはまだ角度があり、それを動作させるために多くを必要としなかったので、また、スライドの量をハードコードすることはできません。ユーザーが3つ以上のスライドをコンポーネントに追加する場合、動的なままでなければなりません。しかし、私はあなたの答えを+1しました。ありがとう! – LOTUSMS

関連する問題