javascript – 使用Dojo ContentPanel滚动到某个位置

前端之家收集整理的这篇文章主要介绍了javascript – 使用Dojo ContentPanel滚动到某个位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

目前使用:

dojo.byId(iid).scrollIntoView();

这完全有效,除了它似乎是基于浏览器窗口顶部的计算而不是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.

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

最佳答案
一种选择可能是利用dojox.fx.smoothScroll.

示例:http://jsfiddle.net/kfranqueiro/6aNrp/

smoothScroll上的API文档确实是最小的,但它确实解释了一些可以在对象中传递给它的参数. http://dojotoolkit.org/api/dojox/fx/smoothScroll – 顺便说一下,API站点使用dojox.fx.smoothScroll的变体来做同样的事情.

猜你在找的JavaScript相关文章