Ionic需要document.scrollTop值

问题描述 投票:1回答:1

我需要在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值?

javascript jquery ionic-framework ionic2 ionic3
1个回答
0
投票

我建议使用更多'Angular'方式,不使用jQuery,它不需要太多改变。

在文档中定义Viewchild(要滚动到的元素)。

<div #topScroll></div>

然后在你的Page控制器中定义:

  export class Page {

  @ViewChild(Content) topScroll: Content;

      private scrollToTop() {
          this.topScroll.scrollToTop(500);
      }
  }

这将滚动到元素的顶部。

© www.soinside.com 2019 - 2024. All rights reserved.