Angular next和prev导航数学逻辑

时间:2016-11-07 20:03:03

标签: javascript angularjs

对于你的数学专家来说,这可能是件小事。 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;
};

帮助!

2 个答案:

答案 0 :(得分:1)

您必须更改以匹配您的上下文,但下面的函数previous()next()中的逻辑可能会有所帮助。

var numSlides = 3;

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

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

答案 1 :(得分:1)

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

您只需在此行末尾将1更改为0即可。你现在拥有的索引1实际上是第二张幻灯片。

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