【问题标题】:jQuery scrollLeft not working on hidden elementjQuery scrollLeft 不适用于隐藏元素
【发布时间】:2016-07-21 06:33:53
【问题描述】:

我有一个大容器 DIV,其中包含许多其他元素并具有滚动条。当 DIV 可见时,我得到了 scrollLeft 的数量,但是当我隐藏元素时 scrollLeft() 返回 0。

如果我在scrollLeft(100) 中设置值,我最终会得到 0。

Follow the Jsfiddle

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    jQuery.hide()display: none; 设置为它所应用的元素。 display: none; 的元素的尺寸为0px by 0px,并被渲染引擎视为当前不属于DOM 的元素。因此,除非您暂时显示该元素,否则您将无法检索当前滚动位置。

    $("#parent").show();
    console.log($("#parent").scrollLeft());
    $("#parent").hide();
    

    Here's the updated fiddle.

    【讨论】:

      【解决方案2】:

      你如何隐藏你的 div? 尝试使用

      visibility:hidden 
      

      而不是

      display :none
      

      因为 Visibility 处理 DIV 的可见性但保留空间,而 display 处理 DIV 占用的空间。

      【讨论】:

        猜你喜欢
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 2015-10-23
        • 2011-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多