C'è un problema quando si usa $ ('. dynatree-container') quando si ha più di un albero nella pagina, poiché questo prova a selezionare ogni albero con questa classe. Ho molti alberi quindi devo selezionare l'albero con un particolare id ... ma trovo, come la persona precedente, che provavo a selezionare l'albero con il suo id (e g '#tree') non funziona. Quindi, cosa succederà ..? fare qualcosa come = $ ("# prevPageTree"). dynatree ("getTree"). Offset non funziona ...
Pochi minuti dopo: ok, capito come fare questo. Spelunking nel debugger di Chrome mostra che la classe .dynatree-container è in realtà collegata all'elemento ul> < inserito da dynatree sotto l'elemento #tree utilizzato per inizializzare l'istanza di dynatree.Quindi è necessario fare qualcosa di simile
$("#tree ul").animate({ // animate the scrolling to the node
scrollTop: $(activeLi).offset().top - $('#tree ul').offset().top + $('#tree ul').scrollTop()
}, 'slow');
E se, come me, non si vuole che per scorrere il nodo fino alla parte superiore della finestra, quindi
scrollTop: $(activeLi).offset().top - $('#prevPageTree ul').offset().top + $('#prevPageTree ul').scrollTop() - 150
sarà bene mettere la vostra nodo 150 pixel in basso
Per chiunque altro si imbatta in questo in futuro, ho riscontrato un problema in cui 'node.li' non era definito in IE. Nel mio caso 'node.span' _was_ defined (ma non me ne sono reso conto immediatamente). Probabilmente è una buona idea controllare entrambi, nel caso uno non sia definito. –