Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.04.2012, 15:25
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

nekto_O,
Я прошу прощения, но ни как не могу добиться результата ...
По разному пробовал и всегда el = null
Соответственно return false;
Может я что-то не так делаю:
var el = Ext.get("heading" + rec.get('id'));
       if( !el ) return false;
        
       var b = panelDocs.body;
       b.scroll('b', el.getY(), true);

П.С. "heading" + rec.get('id') - точно есть в тексте Документа (в Панели).
Ответить с цитированием
  #12 (permalink)  
Старый 19.04.2012, 16:00
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

другой пример - без использования идентификаторов.

<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<script src='http://dev.sencha.com/deploy/ext-4.0.7-gpl/ext-all.js'></script>
<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css">
<script>
Ext.onReady(function() {
var text = Ext.String.repeat('<p>текст</p>', 50);
      
var treeStore = Ext.create('Ext.data.TreeStore', {
    root: {
        expanded: true,
        children: [
            { text: "item1", leaf: true },
            { text: "item2", leaf: true },
            { text: "item3", leaf: true }
        ]
    }
});
      
var treePanel = Ext.create('Ext.tree.Panel', {
    title: 'Tree',
    width: 200,
    store: treeStore,
    rootVisible: false,
    region: 'west'
});
      
treePanel.on('itemclick', function (v, rec, itm, idx) {
    var els = Ext.query('h1[name*='+rec.get('text')+']', htmlPanel.dom),
        el = Ext.get(els[0]);
    if( !el ) return false;
    
    htmlPanel.body.scroll('b', el.getY(), true);
});
      
var htmlPanel = Ext.create('Ext.panel.Panel', {
    region: 'center',
    autoScroll: true,
    bodyStyle: 'padding:10px',
    html: '<h1 name="item1">item1</h1>' + text +
          '<h1 name="item2">item2</h1>' + text +
          '<h1 name="item3">item3</h1>' + text
});
           
Ext.create('Ext.container.Viewport', {
    layout  : 'border',
    defaults: {
        split: true
    },
    items: [
        treePanel,
        htmlPanel
    ]          
});
});                    
</script>
</head>
<body></body>
</html>
Ответить с цитированием
  #13 (permalink)  
Старый 21.04.2012, 00:17
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Спасибо!!!
Уже, наверное, завтра попробую )))
Ответить с цитированием
  #14 (permalink)  
Старый 06.05.2012, 18:28
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

nekto_O,
Работает, но не корректно !!!
Почему:
Добишите в htmlPanel, например: "title: 'TITLE'"
var htmlPanel = Ext.create('Ext.panel.Panel', {
    title: 'TITLE',
    region: 'center',
    autoScroll: true,
    bodyStyle: 'padding:10px',
    html: '<h1 name="item1">item1</h1>' + text +
          '<h1 name="item2">item2</h1>' + text +
          '<h1 name="item3">item3</h1>' + text
});

И провертеть )))

Пока, что, то, что дал Pavel M. единственный рабочий вариант ...
Ответить с цитированием
  #15 (permalink)  
Старый 08.05.2012, 09:05
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от potkin
Добишите в htmlPanel, например: "title: 'TITLE'"
Откуда мне было знать что вам будет так трудно догадаться определить позицию скролла с учетом высоты хидера?
...
var h = htmlPanel.getHeader() ? htmlPanel.getHeader().getHeight() : 0;
htmlPanel.body.scroll('b', el.getY()-h, true);
...
Ответить с цитированием
  #16 (permalink)  
Старый 08.05.2012, 23:54
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Спасибо за помощь !!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск