1

我有一个长表单,其中包含向表单添加元素的组合框和按钮。每次更新组合框的值或添加元素时,它都会向上滚动到表单的顶部。我希望滚动条保持其位置。我尝试通过执行保存当前滚动位置

     this.myForm.getScrollPosition();

但我得到 getScrollPosition 不是函数错误。

对此有什么帮助吗?

4

1 回答 1

4

如果您使用 extjs,有一种方法可以使用 Ext.dom.Element 类来操作滚动,Extjs 中的每个组件都继承自它,然后如果您添加一个修改表单高度或宽度的新组件,您可以先使用以下方法获取该组件的高度和宽度:

var newcompwidth = comboboxexample.getWidth();
var newcompheight = comboboxeample.getHeight();

稍后您可以使用 scrollTo 方法修改滚动值,如下所示:

myformcontainer.getEl().scrollTo('Top',myformcontainer.getEl().getScroll().top - newcompheight);

myformcontainer.getEl().scrollTo('Top',myformcontainer.getEl().getScroll().left - newcompwidth);

还有其他方法,例如scrollByorscroll但我还没有测试它,我想这会对你有所帮助。

文档:http ://docs.sencha.com/extjs/4.1.0/#!/api/Ext.dom.Element

于 2013-08-08T20:02:04.053 回答