gpt4 book ai didi

javascript - 有什么方法可以获取或计算 ScrollView 的速度吗?

转载 作者:行者123 更新时间:2023-11-27 23:05:29 29 4
gpt4 key购买 nike

我正在开发一个 react native 应用程序,我想知道使用 <ScrollView>是否有办法获取当前速度?

我注意到了钩子(Hook) onScroll它返回一堆数据,包括 nativeEvent物体,但我找不到任何关于速度的信息。

有什么建议吗?谢谢。

最佳答案

我想,你所说的速度是指像素/秒,对吗?您可能必须维护一个计时器并使用 onScroll 方法来获取当前滚动高度。

<ScrollView onScroll={this.handleScroll} />

handleScroll 将计算速度。该代码可能需要改进。

handleScroll: function(event: Object) {
console.log((old_offset - event.nativeEvent.contentOffset.y) / time);
old_offset = event.nativeEvent.contentOffset.y;
}

在文件顶部将 old_offset 初始化为 old_offset=0

如何获取时间?您可以使用performance.now()。 Chrome 和 Mozilla 都支持它。

不要使用new Date()。社区强烈反对

handleScroll: function(event: Object) {
var time = last_time_scroll_completed - performance.now()
console.log((old_offset - event.nativeEvent.contentOffset.y) / time);
old_offset = event.nativeEvent.contentOffset.y;
last_time_scroll_completed = performance.now();
}

请注意

这只是一个概念(几乎是伪代码)。我没有尝试过这段代码,它可能根本不起作用。这是我临时编造的。祝你好运!

关于javascript - 有什么方法可以获取或计算 ScrollView 的速度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36638475/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com