当使用$('。dynatree-container')时,如果页面上有多个树,就会出现问题,因为这样会尝试和选择每一棵树与这个类我有很多树,所以我需要选择具有特定ID的树...但我发现,像以前的人一样,试图通过它的id来选择树(e g'#tree')不起作用。那么,什么会..?做一些像= $(“#prevPageTree”)。dynatree(“getTree”)。偏移量也行不通...
几分钟后:好的,想通了如何做到这一点。在Chrome调试器中进行的深入探索显示,.dynatree容器类实际上附加在用于初始化dynatree实例的#tree元素下的dynatree插入的< 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像素下降
对于未来遇到此问题的其他人,我遇到了一个问题,即node.li在IE中未定义。在我的情况''node.span' _was_定义(但我没有立即意识到这一点)。检查两者可能是一个好主意,因为一个是未定义的。 –