javascript - 更改隐藏的 div 的滚动

标签 javascript jquery scroll hidden

我有一个固定高度和滚动条的隐藏 div。我想更改滚动位置,但浏览器不允许我这样做,因为 div 是隐藏的。 scrollTop 属性将保持为 0。

此外,我不想显示和隐藏 div,这会导致闪烁。

如果有人知道该怎么做,那将非常有帮助。

谢谢!

最佳答案

您可以使用 jQuery 的数据函数保存滚动。

function SaveScroll(val)
{
    $(the_element).data("Scroll", val);
}

function Show()
{
    var element = $(the_element);

    // prevent from showing while scrolling
    element.css
    ({
        position: "absolute",
        top: "-50000px",
        left: "-50000px",
        display: ""
    });

    // Scroll to the position set when it was hidden
    element.scrollTop(element.data("Scroll"));

    // show the element
    element.css
    ({
        position: "",
        top: "",
        left: ""
    });
}

这可能会成功


您也许可以只使用 visibility: hidden 而不是 display: none。可见性使元素保持原样。我相信它与 opacity: 0 完全相同,但它是一个跨浏览器的解决方案。

关于javascript - 更改隐藏的 div 的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3100861/

相关文章:

javascript - 使用返回 json 的 lambda 函数

javascript - 当 html.erb 不存在时, cucumber 测试 js.erb 功能

javascript - 有没有简单的方法可以找到 jQuery 代码的 "javascript equivalent"?

javascript - 无法让 Bootstrap modal.js 工作

javascript - Flask如何服务react公共(public)文件

php - 如何在同一页面查看ID的可用性?

javascript - 带有缩放元素的响应式网格

java - GWT StackLayoutPanel : dynamic and automatic height

jquery - 打开 CSS 水平 Accordion 并在页面加载时滚动到顶部

android - RecyclerView : dispatchTouchEvent vs onTouchEvent 内的可滚动 MapView