1

我有一个容器,我想在触发事件时滚动到它的底部。我已经在谷歌上尝试了一切,但似乎没有任何效果。这些是我迄今为止尝试过的事情,这样你就不会浪费任何时间:

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 用户那里得到一些东西。

提前致谢。

4

2 回答 2

0

Sencha Touches 使用非原生 ScrollableView 使容器可滚动。您可以通过调用getScrollable()可滚动容器上的方法来获取 ScrollableView。此 ScrollableView 使用 aExt.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 参数的原因。

于 2014-05-13T14:20:14.983 回答
0

这是它对我的工作方式:

var mainContainer=this.getDetailContainer();    
var scroller = mainContainer.getScrollable().getScroller();
scroller.scrollToEnd(true);
于 2017-08-29T19:45:43.070 回答