private void initPostion() { if (pns == null) { pns = new ArrayList<PositionNav>(); } NodeList<Node> nodes = content.getChildNodes(); for (int i = 1; i < nodes.getLength(); i = i + 2) { Element elm = nodes.getItem(i).<Element>cast(); final int absoluteTop = elm.getAbsoluteTop() - OFFSET; LIElement li = Document.get().createLIElement().cast(); li.setInnerHTML(elm.getId()); EventGenerator.onClick( li, new Function() { @Override public void f(Event e) { root.getElement().setScrollTop(absoluteTop); } }); ul.appendChild(li); pns.add(new PositionNav(absoluteTop, li)); } currentli = pns.get(0).getElm(); currentli.addClassName(style.active()); }