我试图减慢此代码的滚动时出现问题:
$ionicScrollDelegate.$getByHandle('credit').scrollBottom(true).
如何减慢滚动速度?因为现在滚动速度太快了。我需要放慢速度,就像星球大战电影中的信用场景一样。
非常感谢Anyhelp,谢谢!
$scope.viewCreditsV2 = function () {
$ionicModal.fromTemplateUrl('views/popupcredit.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
$scope.modal.show();
if ($scope.modal.isShown()){
setTimeout(function() {
// Do something after 2 seconds
$ionicScrollDelegate.$getByHandle('credit').scrollBottom(true);
}, 2000);
}
});
$scope.openModal = function() {
$scope.modal.show();
};
$scope.closeModal = function() {
// $scope.modal.hide();
$scope.modal.remove();
};
};
答案 0 :(得分:10)
这个问题很陈旧,但有人可能会使用它。
即使没有参数传递选项,您仍然可以使用$ionScrollDelegate
访问ScrollView对象。
按照@Jeremy Wilken的回答(帮助我推导出这个),你可以这样做:
$timeout(function() {
$ionicScrollDelegate.getScrollView().options.animationDuration = 400;
console.log($ionicScrollDelegate.getScrollView().options);
});
//.....
$ionicScrollDelegate.scrollBy(0,20, true) // Animation will be slower now
我将电话打包在$timeout
上,以避免来自$ionicScrollDelegate
的竞赛条件未被创建。
答案 1 :(得分:1)
Ionic没有办法改变$ ionicScrollDelegate的动画速度。没有公共API可以进行此更改。
https://github.com/driftyco/ionic/blob/master/js/views/scrollView.js#L327
您可以使用$anchorScroll
,如Angular文档中所示https://docs.angularjs.org/api/ng/service/ $ anchorScroll