我有一个带有 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/