我有一个容器,我想在事件的触发器上滚动到它的底部。我在Google上尝试了一切,但似乎没有任何效果......这些是我迄今为止尝试过的事情,所以你不要浪费任何时间:
1
Ext.get('detailsViewId').scrollTo("top", -Ext.get('detailsViewId').getHeight());
2
var mainContainer=this.getDetailContainer();
//I get the container here, so no error in the above line
mainContainer.scrollTo..................
mainContainer.element.scrollTo..................
以及来自"开发人员工具"的Chrome。
所以没有任何工作,所以我希望我能从Stackoverflow用户那里获得一些东西。
提前致谢。
答案 0 :(得分:0)
Sencha Touches使用非本机ScrollableView使容器可滚动。
您可以通过在可滚动容器上调用getScrollable()
方法来获取ScrollableView。此ScrollableView使用Ext.scroll.Scroller
来应用滚动逻辑。
var scrollableView,
scroller,
containerList
containerList = Ext.Viewport.add({
scrollable: true,
// creating a few items to make the container overflow.
defaults: {
style: 'background-color: hsl(180, 45%, 85%);',
padding: 30,
margin: 20
},
items: function(){
var ar = [];
for(var i = 0; i < 30; i++) {
ar.push({ html: 'item ' + i});
}
return ar;
}()
});
scrollableView = containerList.getScrollable();
scroller = scrollableView.getScroller();
scroller.scrollBy(0,99999);
示例在此处可运行:https://fiddle.sencha.com/#fiddle/5pm
注意:滚动条有一个名为scrollToEnd的方法,但不知怎的,这并没有按预期工作,这就是为什么我使用99999作为scrollBy y参数。
答案 1 :(得分:0)
以下是它对我有用的方法:
var mainContainer=this.getDetailContainer();
var scroller = mainContainer.getScrollable().getScroller();
scroller.scrollToEnd(true);