如何从按钮clickhandler跳转到锚标签

时间:2014-04-07 11:19:15

标签: gwt

我有一个按钮的点击处理程序。我希望屏幕滚动到像

这样的锚点
Anchor a = new Anchor();
a.setName("stopHere");

(...)

button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
    // Do somethings
            (...)

            // Scroll to Anchor "stopHere"

            ?????
}
});

我该怎么做?

使用锚点<a href="#stopHere"> click to go to stopHere point </a>时类似,但是我接下来会点击按钮。

感谢。

1 个答案:

答案 0 :(得分:1)

方法Element#scrollIntoView()应该做你想做的事情:

final Anchor a = new Anchor();
a.setName("stopHere");

button.addClickHandler(new ClickHandler()
{
    @Override
    public void onClick(ClickEvent event)
    {
        a.getElement().scrollIntoView();
    }
}

或使用Window#scrollTo(int, int)

final Anchor a = new Anchor();
a.setName("stopHere");

button.addClickHandler(new ClickHandler()
{
    @Override
    public void onClick(ClickEvent event)
    {
        Window.scrollTo(a.getAbsoluteLeft(), a.getAbsoluteTop());
    }
}