$ ionicScrollDelegate.scrollTop冻结页面滚动

时间:2016-07-06 12:16:18

标签: javascript angularjs ionic-framework

我有一个应用程序,我添加了将用户点击到顶部的功能,如果用户点击状态栏并为了实现我已使用以下代码

.run(["$ionicScrollDelegate", "$ionicPlatform", "$timeout", function($ionicScrollDelegate, $ionicPlatform, $timeout) {
        $ionicPlatform.ready(function() {     
            if (window.cordova && ionic.Platform.isIOS()) {
                window.addEventListener("statusTap", function() {
                    $ionicScrollDelegate.scrollTop([true]);
                });
            }
        });
    }])

当我点击状态栏然后代码按预期工作但之后它不允许我手动滚动页面并且卡住了

2 个答案:

答案 0 :(得分:1)

我相信你正在使用Android手机进行测试。如果android我很确定通过使用动画进行自动滚动有一个bug。您是否尝试通过删除' true'删除动画?功能价值?例如:

$ionicScrollDelegate.scrollTop(true);

$ionicScrollDelegate.scrollTop();

试试吧..希望它对你有所帮助。 IOS与动画滚动工作正常但不适用于Android。太伤心了...... :(

更新(解决方案):

好的,我找到了解决方案..似乎我们需要设置' jsScrolling:true'而不是默认情况下' jsScrolling:false'对于Android。

请在&ion-angular.js'

上修改/修改此内容

希望它能帮助别人:)

答案 1 :(得分:0)

$ionicScrollDelegate.scrollTop();

这是正确的用法,参考:http://ionicframework.com/docs/api/service/ $ ionicScrollDelegate /

示例

<body ng-controller="MainCtrl">
 <ion-content delegate-handle="mainScroll">
  <button ng-click="scrollMainToTop()">
   Scroll content to top!
  </button>
  </ion-content>
</body>


function MainCtrl($scope, $ionicScrollDelegate) {
  $scope.scrollMainToTop = function() {
   $ionicScrollDelegate.$getByHandle('mainScroll').scrollTop();
  };
 }