當使用$('。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_定義(但我沒有立即意識到這一點)。檢查兩者可能是一個好主意,因爲一個是未定義的。 –