2012-03-13 1 views
0

J'ai une page avec beaucoup de liens hrefs vers des points arbitraires de la page, dis quand je clique sur le lien <a href="#b">B</a> je devrais aller au point B. cependant je ne veux pas mettre à jour la pile de l'histoire quand je clique sur le lien, qui par défaut sera udpate à /index.html#B. Je peux utiliser g: Anchor au lieu de lien hypertexte pour éviter la mise à jour de la pile de l'histoire, mais comment puis-je vraiment aller au point B dans ma page? mon code ressemble à ceci: index.ui.xmlgwt ancre sans mise à jour pile de l'histoire

 <g:Anchor ui:field="_a">A</g:Anchor> 
     ... 
     <a name="a"></a> 
     <h3>Point A</h3> 
     <a name="b"></a> 
     <h3>Point B</h3> 
     ... 

index.java

@UiField 
Anchor _a; 
@UiHandler("_a") 
void onClickA(ClickEvent e){ 
    //how to goto point A in the page ?? 
} 

Répondre

0

Peut-être que vous pouvez utiliser la méthode window.scrollTo()?

+0

j'ai essayé, mais ça n'a pas (n'a pas défiler du tout): onClickA (ClickEvent e) {Element aElem = container.getElementById ("a"); if (aElem! = null) {Window.scrollTo (aElem.getAbsoluteLeft(), aElem.getAbsoluteTop();}} – user468587

0

Ce que vous pouvez faire est d'appeler: _a.getElement().scrollIntoView();. Ce défilement vers l'ancre est tel qu'il est au moins visible.

Questions connexes