gpt4 book ai didi

javascript - 相当于 hammer js 中的 'pinchstart' 的东西?改变div的高度

转载 作者:行者123 更新时间:2023-11-30 05:32:24 24 4
gpt4 key购买 nike

我正在使用 hammer.js 手势的 ionic 框架中创建一个 cordova 应用程序

当您使用drag 手势时,有相应的dragstartdragend 手势,除了实际拖动。这很有用,因为有时您需要了解 drag start 处的信息。

我没有看到与 pinch 手势等效的手势,但是是否可以通过其他方式获取此信息?

我正在使用 pinch 来更改 div 的高度。

我的问题是,如果我不知道收缩开始时的高度,那么我唯一知道的高度就是当前高度。因为我用捏来改变高度,这对高度有指数效应,而且变化非常快。 (下面的示例 1)

如果我使用 e.gesture.scale 更改高度并将高度设置为 %,那么如果有人停止捏合并稍后重新启动,我将不知道 div 的高度。这具有再次以 100% 开始收缩的视觉效果,这在眼睛上非常刺耳。 (下面的示例 2)


示例 1 问题:高度呈指数变化,因为只有高度 I 会随着捏合而变化

height = e.gesture.startEvent.target.offsetHeight * e.gesture.scale + "px"

不确定为什么 e.gesture.startEvent.target.offsetHeight 会改变,我认为它是恒定的,但事实并非如此。

示例 2 问题:在第二次捏合时它会刺痛眼睛,因为初始高度始终从 100% 开始,即使捏合已经缩小了 div。

height = e.gesture.scale*100 +"%"


理想场景如果我在紧要关头有高度,我可以做类似的事情:

height = pinchStartHeight*e.gesture.scale + "px"

这将使它完美地缩放,因为 pinchStartHeight 可能是常量。

任何 pinchStart 等价物或任何可能导致我解决问题的方法?

最佳答案

pinchstart 事件已定义 here in the HammerJS documentation .
我通常在触摸端存储(在变量中)缩放(并翻译)值,因为在 hammerJS 中,这些值总是指当前手势。

关于javascript - 相当于 hammer js 中的 'pinchstart' 的东西?改变div的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26029655/

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