Jquery document.scrollTop在Ionic中为0
当我滚动我的页面并单击时,我从顶部获得它的y位置,因此当我滚动时,它在HTML和JS中不断增加 但当我试图在Ionic中实现同样的目标时,它总是返回0 欲了解更多信息,请参见此 下面是我的工作JSFIDLE代码,链接到我的,滚动并单击,您将看到带有y位置值的警报Jquery document.scrollTop在Ionic中为0,jquery,angular,ionic-framework,ionic2,ionic3,Jquery,Angular,Ionic Framework,Ionic2,Ionic3,当我滚动我的页面并单击时,我从顶部获得它的y位置,因此当我滚动时,它在HTML和JS中不断增加 但当我试图在Ionic中实现同样的目标时,它总是返回0 欲了解更多信息,请参见此 下面是我的工作JSFIDLE代码,链接到我的,滚动并单击,您将看到带有y位置值的警报 $(“正文”)。单击(函数(){ var scrollPost=$(document.scrollTop(); 警报(滚动柱); }) 世界就是你的牡蛎。 测试
$(“正文”)。单击(函数(){
var scrollPost=$(document.scrollTop();
警报(滚动柱);
})
世界就是你的牡蛎。
测试
<<
kjh
kjgh
uitz
/>
kjh
kjh
uitz
这是一个测试
在使用Ionic时,您不会滚动整个文档。
您应该使用classscroll content
检查元素的滚动位置
console.log(document.querySelector('.scroll-content').scrollTop);
在某些情况下,您有多个滚动内容
,因此您可以对它们进行迭代,如:
const scrollContents = document.querySelectorAll('.scroll-content');
for (let i = 0; i < scrollContents.length; ++i) {
console.log(scrollContents.length[i].scrollTop);
// do something
}
const scrollContents=document.querySelectorAll('.scroll content');
for(设i=0;i
首先,您不应该将jQuery与Angular一起使用,它们做的是相同的事情,所以两者都没有用,jQuery所做的一切Angular也可以做。所以不推荐这样做。因此,除非非常需要,否则不要使用
您无法观察到对scrollTop
属性的任何更改,因为它没有移动正文,而是移动了其中的内容标记。有一个内容
,您可以使用它来获取此属性。这样做:
你的页面.ts
import { Component, ViewChild } from '@angular/core';
import { Content } from 'ionic-angular';
@Component({...})
export class MyPage{
@ViewChild(Content) content: Content;
public scrollPost: number = 0;
getScrollTop() {
this.scrollPost = this.content.scrollTop;
}
}
您的HTML:
<ion-content (ionScroll)="getScrollTop()">
<!-- your page content -->
</ion-content>
使用此选项,您将始终使用滚动的值更改scrollPost
的值,但是如果您需要在任何地方使用此值,请不要只在ion内容中添加一个单击,或者对其中任何元素的任何单击都不起作用,相反,在getScrollTop
方法中使用按钮或执行您需要执行的操作
希望这有帮助。由于您的意思,我应该将类“scroll content”添加到我的div中,该div具有类“conta”?不,Ionic会自动添加该类。注意,当我在“this.scrollPost=this.content.scrollTop();”行尝试上述解决方案时,出现了一个错误,请看我的stackblitz,这里是编辑链接-guide@user2828442哦,很抱歉,scrollTop
是内容的属性,而不是函数,只需在结束时删除函数执行,一切正常。更新了我的答案。如何获取单击位置的scrollTop值?因为我想打开上下文菜单there@user2828442您可以向传递事件的某个元素添加一个单击
(单击)=“myMethod($event)
,在该方法中,用户单击的屏幕上有一个Y和X坐标的属性,只是不记得属性名称,只记得console.log()
该活动很容易找到。