2016-07-06 144 views
0

我有,我已经添加,如果用户点击状态栏,为了做到这一点我用下面的代码

.run(["$ionicScrollDelegate", "$ionicPlatform", "$timeout", function($ionicScrollDelegate, $ionicPlatform, $timeout) { 
     $ionicPlatform.ready(function() {  
      if (window.cordova && ionic.Platform.isIOS()) { 
       window.addEventListener("statusTap", function() { 
        $ionicScrollDelegate.scrollTop([true]); 
       }); 
      } 
     }); 
    }]) 
滚动用户顶端的功能的应用程序

当我点击状态栏然后代码工作正常,但之后,它并没有让我手动滚动页面,它stucks

回答

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(); 
    }; 
} 
1

我相信你正在使用Android手机做一个测试。如果android我很确定有使用动画做自动滚动的错误。你是否试图通过删除函数中的'true'值来删除动画?例如:

$ionicScrollDelegate.scrollTop(true); 

$ionicScrollDelegate.scrollTop(); 

试试看..希望它可以帮助你。 IOS与动画滚动工作正常,但不适用于Android。如此悲伤.. :(

UPDATE(解决方案):

好吧,我找到了解决方案。它似乎我们需要设置“jsScrolling:真正的”,而不是默认为“jsScrolling:假”的机器人。

请修改这对“离子-angular.js”

希望它可以帮助别人:)

+1

为什么你会在离子文件编辑这个时候你可以用一个全局配置'$设置/编辑ionicConfigProvider.scrolling.jsScrolling(真);'? – thepio

+0

哎呀..是的,你是对的..我们也可以设置全局配置。但以防万一需要特定的设备设置...顺便说一句..非常感谢:) – Safrul