当页面上有不止一棵树时使用 $('.dynatree-container') 会出现问题,因为这将尝试选择具有此类的每一棵树。我有很多树,所以我需要选择具有特定 id 的树......但我发现,和前一个人一样,试图通过它的 id(例如'#tree')选择树是行不通的。那么,什么会..?做类似 =$("#prevPageTree").dynatree("getTree").offset 的事情也不起作用......
几分钟后:好的,想出了如何做到这一点。在 Chrome 调试器中探索显示 .dynatree-container 类实际上附加到由 dynatree 在用于初始化 dynatree 实例的 #tree 元素下插入的 <ul> 元素。所以你需要做类似的事情
$("#tree ul").animate({ // animate the scrolling to the node
scrollTop: $(activeLi).offset().top - $('#tree ul').offset().top + $('#tree ul').scrollTop()
}, 'slow');
如果,像我一样,你不希望它把节点滚动到窗口的顶部,那么
scrollTop: $(activeLi).offset().top - $('#prevPageTree ul').offset().top + $('#prevPageTree ul').scrollTop() - 150
会很好地将您的节点降低 150 像素