所以过去一周我一直在到处搜索,但我找不到让两个“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。
现在基本上我想要的是。这两个选项卡面板有滚动条,所以我希望每当我滚动一个选项卡面板时,另一个选项卡面板会自动随之滚动。
有可能吗?
谢谢 安迪
最佳答案
简答,应该是...
您需要访问您感兴趣的特定容器的滚动条。
我会从以下方面开始调查:
listeners: {
scroller: {
scroll: function(scroller, offset) {
console.log(scroller, offset);
}
}
}
我知道容器定义了滚动条,但我认为选项卡面板没有。因此,必须将这种监听器添加到每个项目(或者该项目可能使事件冒泡,尽管未经测试)。
(当然,一旦您可以捕获滚动事件,将另一个面板设置为相同的偏移量应该不难)
希望这至少能给你一个前进的方向。
关于javascript - 一起滚动两个 ext.TabPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12376448/