所以我一直在寻找过去一周的所有地方,但我找不到办法让两个“Ext.TabPanel一起滚动。
我正在使这个页面有Ext.Panel,它有两个项目:
var MyBorderPanel = new Ext.Panel({
layout: 'border',
renderTo: 'command_display',
cls: 'auto-width-tab-strip',
height:800,
items: [
{
region: 'west',
title: 'item1: <?=ui::getURLField("item1")?>',
split: true,
width: 500,
minSize: 100,
maxSize: 900,
layout: 'fit', // specify layout manager for items
items: // this TabPanel is wrapped by another Panel
baseTab
},
{
region: 'center',
title: 'item2 : <?=ui::getURLField("item2")?>',
split: true,
margins: '0 0 0 0',
layout: 'fit', // specify layout manager for items
items: // this TabPanel is wrapped by another Panel
compareTab
}
]
});
这些项目:baseTab和compareTab描述如下:
var baseTab = new Ext.TabPanel({
border: false, // already wrapped so don't add another border
activeTab: 0, // second tab initially active
items: [
<?php
$uihelper->perform("InitItem1Iteration");
$comma = true;
while($uihelper->hasNext("Item1Iteration"))
{
$uihelper->next("Item1Iteration");
?>
<?=(!$comma?",":"")?>
{
title: 'some php code',
id: 'some php code',
autoScroll: true,
contentEl: 'some php code',
}
<?php
$comma = false;
} ?>
]
});
类似于Item2。
现在基本上我想要的是。这两个选项卡面板都有滚动条,所以每当我滚动一个tabPanel时,我都想要它,另一个选项卡面板会自动滚动它。
甚至可能吗?
由于 安迪
答案 0 :(得分:0)
简短回答,应该是......
您需要访问您感兴趣的特定容器的滚动条项目。
我会开始调查以下内容:
listeners: {
scroller: {
scroll: function(scroller, offset) {
console.log(scroller, offset);
}
}
}
我知道容器定义了滚动条,但我不认为tabpanel有。所以这种听众必须被添加到每个项目中(或者项目可能会使事件冒泡,但未经测试)。
(当然,一旦你可以捕捉滚动事件设置,其他面板到相同的偏移量应该不难证明)
希望这至少可以为您提供进入的方向。
答案 1 :(得分:0)
你想看看卷轴,就像@zelexir所提到的那样。这是我的示例代码http://jsfiddle.net/YgTuc/1/的小提琴。这适用于两个面板,但对于TabPanel中的面板应该是相同的。