Extjs прокручивает панель в позицию - PullRequest
5 голосов
/ 11 мая 2011

Привет, у меня есть панель, и я хочу прокрутить ее до определенного постита, как мне это сделать

var tabs= new Ext.Panel({
    id:id,      
    title:text,
    autoScroll:true,
    iconCls:'windowIcon',
    closable:true,
    closeAction:'hide'
});

Ответы [ 4 ]

7 голосов
/ 11 мая 2011

Установите для свойства scrollTop тела панели количество пикселей, которое вы хотите прокрутить вниз:

// Scroll the body down by 100 pixels.
tabs.body.dom.scrollTop = 100;
4 голосов
/ 28 июня 2013

Другой вариант - использовать здесь функцию scrollTo (),

http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.Element-method-scrollTo

например,

Ext.getCmp('graph_panel').body.scrollTo('left',250);  
Ext.getCmp('graph_panel').body.scrollTo('top',200); 

Но функция scrollTo () не привязывается к проверкеубедитесь, что прокрутка находится в пределах диапазона прокрутки этого элемента, в то время как функция scroll () делает, поэтому лучше использовать функцию scroll ().

например

Ext.getCmp('graph_panel').body.scroll('left',300);
Ext.getCmp('graph_panel').body.scroll('bottom',300);
1 голос
/ 27 января 2014

Обратите внимание, что родительская панель имеет ограниченный размер, например 400px x 400px, и дочернюю панель, доступную внутри родительской панели, размер которой 1000px x 1000px.поэтому прокрутка выполняется родительской панелью, тогда код должен выглядеть следующим образом ...

Ext.getCmp('id_of_Parent_panel').scrollBy(500, 500, true);

здесь scrollBy (x-value = 500, y-value = 500, animation = true), чтобы дочерняя панель прокручивалась по диагонали (сначала по горизонтали, потом по вертикали) с помощью родительской панели ...

Следующий пример используется, чтобы понять больше об этой концепции ... Я использую ExtJs 4.2.1

Ext.onReady(function () {
        Ext.create('Ext.panel.Panel', {            
            title:'Parent',
            height: 200,
            autoScroll: true,
            width: 700,
            id:'Parent',
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'panel',
                title: 'Child',
                height: 1000,
                width: 1000,              
                items:[{
                    xtype: 'button',
                    text: 'Please Scroll me....',
                    listeners: {
                        click: {
                            fn: function () {
                                Ext.getCmp('Parent').scrollBy(500, 500, true);
                            }
                        }
                    }
                }]

            }]
        })
    });
0 голосов
/ 20 января 2016

Вы можете добавить preserveScrollOnReload свойство config в view config.

viewConfig: {
        preserveScrollOnReload: true
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...