2010-07-07 4 views
6

J'ai une application GWT et je veux faire défiler vers le haut d'une page à l'aide de cette méthode:Scrolling vers le haut d'une page dans une application GWT

public static native void scrollTop() /*-{ 
    $wnd.scroll(0, 0); 
}-*/; 

La méthode est appelée dans le onClick -method d'un TreeNodeListenerAdapter:

new TreeNodeListenerAdapter() { 
    @Override 
    public void onClick(Node node, EventObject e) { 
    scrollTop(); 
    } 
} 

Cela ne fonctionne pas et je ne sais pas pourquoi. Quand je mets une alerte dans ma méthode:

$wnd.alert("Treenode clicked"); 

Je reçois l'alerte mais la page ne défile pas. Qu'est-ce que j'oublie ici?

+5

I Je ne sais pas pourquoi votre code ne fonctionne pas, mais vous pouvez envisager d'utiliser la méthode statique GWT Window.scrollTo au lieu de votre méthode native (voir http://google-web-toolkit.googlecode.com/svn/javadoc/2.0 /com/google/gwt/user/client/Window.html). – aem

+0

Merci pour l'info, mais cela ne fonctionne pas non plus. –

+0

Des trucs bizarres. J'ai juste essayé Window.scrollTo et cela a fonctionné très bien dans IE et FF4b1. Avec quel (s) navigateur (s) rencontrez-vous des problèmes? –

Répondre

14

Si vous voulez faire défiler vers le haut d'une page faire juste:

Window.scrollTo (0 ,0); 

Assurez-vous simplement que vous importez le bon paquet com.google.gwt.user.client.Window

+0

En fait, je ne me souviens plus de la solution à mon problème, mais je l'ai résolu d'une manière ou d'une autre. Comme cela devrait normalement fonctionner, je l'accepterai comme réponse. –

Questions connexes