Enable/Disable 动态滑动 (touch/mouse)
Enable/Disable swiper dynamically (touch/mouse)
我有一个页面有一个问题和 4 个答案,刷卡器效果很好,我可以转到下一个问题然后返回。我想要的是在按下答案之前禁止滑动到下一个问题。我成功地用 $scope 变量和 ng-show 隐藏了 'next' 箭头,但是即使每次我按下答案时使用新的禁用选项调用 initSwiper 函数后,使用 touch/mouse 的滑动仍然有效。这可能吗?这是当前非常有效的 initSwiper 函数。
$scope.initSwiper = function() {
var swiper = new Swiper('.swiper-container', {
// Navigation arrows
nextButton : '.swiper-button-next',
slideToClickedSlide : true,
onSlideChangeStart : function(swiper) {
$scope.index = swiper.activeIndex;
setExplanation($scope.index);
$scope.$apply();
$scope.test = $scope.tests[$scope.index];
swiper.lockSwipeToPrev();
}
});
}
我在按下答案后调用的另一个初始化函数就像这样,我只将这个swiper.lockSwipeToNext()
添加到onSlideChangeStart: function
。
您可以在初始化 Swiper 时尝试使用 noSwipingClass
选项并使用 $scope
有条件地应用 css class 例如 no-answer-yet
到 Swiper 幻灯片。所以像:
$scope.initSwiper = function() {
var swiper = new Swiper('.swiper-container', {
...,
noSwipingClass: "no-answer-yet",
});
}
我有一个页面有一个问题和 4 个答案,刷卡器效果很好,我可以转到下一个问题然后返回。我想要的是在按下答案之前禁止滑动到下一个问题。我成功地用 $scope 变量和 ng-show 隐藏了 'next' 箭头,但是即使每次我按下答案时使用新的禁用选项调用 initSwiper 函数后,使用 touch/mouse 的滑动仍然有效。这可能吗?这是当前非常有效的 initSwiper 函数。
$scope.initSwiper = function() {
var swiper = new Swiper('.swiper-container', {
// Navigation arrows
nextButton : '.swiper-button-next',
slideToClickedSlide : true,
onSlideChangeStart : function(swiper) {
$scope.index = swiper.activeIndex;
setExplanation($scope.index);
$scope.$apply();
$scope.test = $scope.tests[$scope.index];
swiper.lockSwipeToPrev();
}
});
}
我在按下答案后调用的另一个初始化函数就像这样,我只将这个swiper.lockSwipeToNext()
添加到onSlideChangeStart: function
。
您可以在初始化 Swiper 时尝试使用 noSwipingClass
选项并使用 $scope
有条件地应用 css class 例如 no-answer-yet
到 Swiper 幻灯片。所以像:
$scope.initSwiper = function() {
var swiper = new Swiper('.swiper-container', {
...,
noSwipingClass: "no-answer-yet",
});
}