【发布时间】:2017-05-24 17:49:32
【问题描述】:
如果我想在 Elm 中我的元素离屏幕顶部有多远,我该怎么做?
在上下文中,我试图弄清楚如何判断一个元素是否在 Elm 中看不见,根据this,这是我需要这样做的第一个要素。
【问题讨论】:
如果我想在 Elm 中我的元素离屏幕顶部有多远,我该怎么做?
在上下文中,我试图弄清楚如何判断一个元素是否在 Elm 中看不见,根据this,这是我需要这样做的第一个要素。
【问题讨论】:
在 Elm 0.19 中,Browser.Dom.getElement 将返回(返回的任务)Element 记录,其中包含您需要的所有信息。然后你可以这样做:
distFromTop : Element -> Int
distFromTop elementInfo =
elmentInfo.element.y - elementInfo.viewport.y
(注意distFromTop 可能会返回一个负数,如果视口当前显示页面的一部分在您的元素下方。)
您可以在我的 Elbum 项目中的 getImgPosition function 中查看您需要使用的 Task 机制的完整示例。
【讨论】:
听起来你需要Dom library 中的 y 函数。请注意,这种功能不是纯粹的(向下的距离可能会有所不同),因此您需要使用 Task 来使用它。这为开发人员增加了一些认知开销,但当然可以为您提供 Elm 提供的其他确定性。
【讨论】: