使用Dojo ContentPanel滚动到某个位置

Bit*_*ize 5 javascript dojo dom window

我的Dojo应用程序使用一些内容窗格来显示不同的信息.主窗格具有大量可滚动数据.我需要能够按下按钮才能跳转到某些地方.

目前使用:

dojo.byId(iid).scrollIntoView();
Run Code Online (Sandbox Code Playgroud)

这完全有效,除了它似乎是基于浏览器窗口顶部的计算而不是contentpanes的顶部.由于我的内容窗格不在页面顶部(顶部有一个50px高的工具栏),我滚动的DIV也是50px太高.

像这样的东西可以工作但scrollBy只适用于窗口:

dojo.byId(iid).scrollIntoView();   //Scroll to div in quesiton
dojo.byId(iid).scrollBy(0,50);   //scroll down 50px more to account for panes offset from window.
Run Code Online (Sandbox Code Playgroud)

完整应用程序的背景:该应用程序使用一些dijit.layout.BorderContainer进行布局.用户可以单击左侧树以在右侧面板中显示事件.如果他们单击"目标",我会动态创建右侧面板中的所有DOM节点,然后尝试滚动到单击的项目.滚动部分适用于顶部和底部节点,但是对于中间节点是偏移的.

完整应用程序的屏幕截图

我的问题的插图