javascript - 如何在 GWT 中滚动到 div id

标签 javascript gwt iframe scroll jsni

我有一个带有 iframe 的网页,其中正在运行 gwt 应用程序。该网页有一个<div id="head"> 。无法在 iframe 中滚动(预期),因此网页的高度为 1000px。最底部有一个按钮,我希望当有人单击该按钮时(注意:该按钮位于 gwt 应用程序中),我想滚动到顶部。

这意味着 iframe 需要强制父窗口滚动到顶部。我用这样的 jsni 函数尝试过:

    public static native void scrollToTop()  /*-{
        $wnd.top.scrollTo(0,0);
    }-*/;

但这没有用。所以我的新想法是滚动到 div id“标题”。有谁知道如何做到这一点?

我尝试过这样的:

document.getElementById('header').scrollIntoView();

但这似乎不起作用(因为它应该以 JSNI 方式?)。

感谢您的任何意见!

最佳答案

它失败了,因为 GWT 在 iframe 中运行,因此 document 引用了 GWT 的 iframe,而不是您的“HTML 主机页”。您必须在 JSNI 中使用 $doc 来引用文档(就像 $wnd 而不是 window)。

但实际上你并不需要 JSNI;普通的旧 Java/GWT 就可以了:

Document.get().getElementById("header").scrollIntoView();

关于javascript - 如何在 GWT 中滚动到 div id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740281/

相关文章:

javascript - 如何正确连接到 mongodb.atlas? Mongo网络错误

java gwt 点击处理程序

google-app-engine - GWT/股票观察者 : can't connect the server

css - GWT celltable 使一些列加粗

javascript - 捕获传入的 URL 参数,然后使用 Javascript 传递给 iFrame Src

javascript - 在每个幻灯片转换上暂停多个 YouTube Iframe 视频

javascript - 如何使用 Xpath javascript 获取innerHTML?

javascript - 在三元条件下返回新的 promise Q

javascript - 将 CSS 应用于 IFrame 时出现跨浏览器问题

javascript - 类型错误 : "method" is not a function