我的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节点,然后尝试滚动到单击的项目.滚动部分适用于顶部和底部节点,但是对于中间节点是偏移的.


默认情况下,dijit.calendar显示当前日期/月份.使用可视控件,用户可以更改视图并选择日期.我需要根据其他情况有问题地更改显示日期.