我需要在Ionic 2页面中获取scrollTop位置,但它无法正常工作。
相同的代码在普通的html页面中工作,但它总是在IONIC中返回0
。
请参阅以下代码,该代码正常工作:
$("body").click(function(){
var scrollPost = $(document).scrollTop();
alert(scrollPost);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>
test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>test<br/><br/><br/><br/>kjh<br/>kjgh<br/>uitz<br/><br/><br/><br/>uztjhg<br/>kjh<br/>
<div class="test">Thats a test</div>
我已经在我的Ionic项目中安装了jQuery并且它正在工作,但特别是这个$(document).scrollTop();
功能不起作用,每次它给我0
。
我在上下文菜单中的应用程序中做了很多工作,如果现在我必须将其更改为其他内容,对我来说将是一个巨大的痛苦。我如何获得scrollTop
值?
我建议使用更多'Angular'方式,不使用jQuery,它不需要太多改变。
在文档中定义Viewchild(要滚动到的元素)。
<div #topScroll></div>
然后在你的Page控制器中定义:
export class Page {
@ViewChild(Content) topScroll: Content;
private scrollToTop() {
this.topScroll.scrollToTop(500);
}
}
这将滚动到元素的顶部。