【问题标题】:Is there an Elm equivalent of jQuery.offset?有没有相当于 jQuery.offset 的 Elm?
【发布时间】:2017-05-24 17:49:32
【问题描述】:

如果我想在 Elm 中我的元素离屏幕顶部有多远,我该怎么做?

在上下文中,我试图弄清楚如何判断一个元素是否在 Elm 中看不见,根据this,这是我需要这样做的第一个要素。

【问题讨论】:

    标签: jquery html offset elm


    【解决方案1】:

    在 Elm 0.19 中,Browser.Dom.getElement 将返回(返回的任务)Element 记录,其中包含您需要的所有信息。然后你可以这样做:

    distFromTop : Element -> Int
    distFromTop elementInfo =
        elmentInfo.element.y - elementInfo.viewport.y
    

    (注意distFromTop 可能会返回一个负数,如果视口当前显示页面的一部分在您的元素下方。)

    您可以在我的 Elbum 项目中的 getImgPosition function 中查看您需要使用的 Task 机制的完整示例。

    【讨论】:

    • 这个答案是错误的。 getElement 返回一个任务,而不是一条记录。
    【解决方案2】:

    听起来你需要Dom library 中的 y 函数。请注意,这种功能不是纯粹的(向下的距离可能会有所不同),因此您需要使用 Task 来使用它。这为开发人员增加了一些认知开销,但当然可以为您提供 Elm 提供的其他确定性。

    【讨论】:

    • 谢谢!有没有办法使用它来获取到文档正文顶部而不是父元素顶部的距离?
    猜你喜欢
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 2013-07-21
    • 2010-12-05
    • 1970-01-01
    • 2016-05-31
    相关资源
    最近更新 更多