Javascript 从控制器中滚动AngularJS不起作用
我只想滚动到顶部 我试过这个: $window.scrollTo(0,0) 这不起作用,window.scrollTo(0,0)也不起作用。然后我试着: $location.hash('top')//眼前 $anchorScroll() 那也没用。 我见过一些用于滚动的自定义角度模块,但我真的不想为这么简单的东西使用更多的代码,这些东西无论如何都应该可以工作。也许我的控制器/视图有问题 这是我的控制器:Javascript 从控制器中滚动AngularJS不起作用,javascript,angularjs,scroll,Javascript,Angularjs,Scroll,我只想滚动到顶部 我试过这个: $window.scrollTo(0,0) 这不起作用,window.scrollTo(0,0)也不起作用。然后我试着: $location.hash('top')//眼前 $anchorScroll() 那也没用。 我见过一些用于滚动的自定义角度模块,但我真的不想为这么简单的东西使用更多的代码,这些东西无论如何都应该可以工作。也许我的控制器/视图有问题 这是我的控制器: .controller('PageCtrl', function ($scope, $sta
.controller('PageCtrl', function ($scope, $stateParams, $window, $http, $ionicLoading, $ionicPopup, $timeout, $anchorScroll, $rootScope, $location, $compile) {
var controller = this;
$rootScope.$on('$stateChangeStart',
function (event, toState, toParams, fromState, fromParams, options) {
if (toState.name == 'app.page') {
if(fromState.name != 'app.page2')
controller.init();
}
});
this.init = function () {
$ionicLoading.show({
content: 'Logging in',
animation: 'fade-in',
showBackdrop: true,
maxWidth: 200,
showDelay: 1
});
$window.scrollTo(0, 0); //should it be here?
window.scrollTo(0, 0); //not working at all??
.....
}
......
模板:
<style>
...
</style>
<ion-view view-title="something" ng-init="pgctrl.init()">
<ion-nav-buttons side="right">
<button class="button button-calm" ng-click="pgctrl.init()">
New
</button>
</ion-nav-buttons>
<ion-content class="has-header" padding="true">
...
</ion-content>
</ion-view>
如果您不反对使用jQuery(无论如何,您都在使用jQuery),您可以尝试这样做 在这个.init中
$('body, html').animate({scrollTop: $('.view').offset().top}, "slow");
模板
<ion-view view-title="something" class="view" ng-init="pgctrl.init()">
<ion-nav-buttons side="right">
<button class="button button-calm" ng-click="pgctrl.init()">
New
</button>
</ion-nav-buttons>
<ion-content class="has-header" padding="true">
...
</ion-content>
</ion-view>
新的
...
如果您不反对使用jQuery(无论如何,您都在使用jQuery),您可以尝试这样做
在这个.init中
$('body, html').animate({scrollTop: $('.view').offset().top}, "slow");
模板
<ion-view view-title="something" class="view" ng-init="pgctrl.init()">
<ion-nav-buttons side="right">
<button class="button button-calm" ng-click="pgctrl.init()">
New
</button>
</ion-nav-buttons>
<ion-content class="has-header" padding="true">
...
</ion-content>
</ion-view>
新的
...
我找到了一个解决方案。我发现,由于顶部有ion导航按钮,任何“滚动到顶部”都会认为我们已经在那里了,因此它无法工作。在寻找让爱奥尼亚进行滚动的方法后,我发现:
$ionicScrollDelegate.scrollTop(true); //where true says whether to animate it
成功了。也要感谢帮助解决这个问题的人 我找到了一个解决办法。我发现,由于顶部有ion导航按钮,任何“滚动到顶部”都会认为我们已经在那里了,因此它无法工作。在寻找让爱奥尼亚进行滚动的方法后,我发现:
$ionicScrollDelegate.scrollTop(true); //where true says whether to animate it
$('html, body').animate({scrollTop: '0px'}, 400);
成功了。也要感谢帮助解决这个问题的人
$('html, body').animate({scrollTop: '0px'}, 400);
您可以简单地使用它。400是以毫秒为单位的时间延迟。0px是垂直滚动位置
您可以简单地使用它。400是以毫秒为单位的时间延迟。0px是垂直滚动位置。对窗口滚动事件使用
stateChangeSuccess
如何,以便在转换完成时触发?对窗口滚动事件使用statechangesuccessuccess
如何,以便在转换完成时触发完成?