ExtJS 3 Slider:当折叠的容器再次展开时,滑块值总是回到最小值
我在视口中定义了两个面板:一个是非浮动的主面板,另一个是浮动面板,其底部工具栏中有一个滑块。当鼠标点击主面板主体时,会生成一个随机值,用于设置滑块的新值;当浮动窗口未折叠时它工作得很好。
我现在遇到的问题是当滑块容器(浮动面板)折叠时,每次在主面板上单击鼠标(以设置滑块的值)后,如果用户展开浮动窗口,你会看到滑块指针回到了开头;我认为这是不对的,我希望滑块的值也能改变,即使它的容器折叠了。
我想知道我是否错过了滑块中的任何配置......希望有人可以建议我!谢谢!
我在此处附上复制并运行脚本:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="http://extjs.cachefly.net/ext-3.2.1/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="http://extjs.cachefly.net/ext-3.2.1/ext-all.js"></script>
<link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-3.2.1/resources/css/ext-all.css" />
</head>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = 'img/s.gif';
Ext.onReady(function() {
Ext.QuickTips.init();
var mainPanel = new Ext.Panel({ //define a main non-floating panel
title: 'main',
id: 'mainPanel',
width: 400,
height: 400
});
//define viewport
var viewPort = new Ext.Viewport({
items: [
mainPanel
]
});
mainPanel.body.on('click', function() {
var tmpValue = parseInt(Math.random() * 90) + 10; //generate a random value, also make sure it's always larger than 0
Ext.getCmp('testSlider').setValue(tmpValue); //set new value for the test slider
});
var floatWin = new Ext.Window({ //floating panel, the container of a slider bar
id:'floatWin',
title: 'Float Win',
closable: false,
width: 200,
height: 200,
layout: 'fit',
floating : true,
collapsible: true,
bbar:[{
xtype: 'slider', //test slider
minValue: 0,
maxValue: 100,
id: 'testSlider',
width: 80,
increment: 1,
stateful: true
}]
});
floatWin.show();
});
</script>
<body>
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您只需调用 工作 jsFiddle 。
You can fix this issue by simply calling Ext.Slider.syncThumb method inside expand listener attached on your floating panel. You can check out working jsFiddle here based on your code.