2016-07-06 83 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