<div id="param-set-win" class="x-hidden">
<div class="x-window-header"></div>
<div id="param-tabs">
<!-- Auto create tab 1 -->
<div class="x-tab" title="Parame1">
<div id="slid_group1" name = "slid_group1" class="my_slidergroup1">
<table>
<tr>
<td>Black:</td><td><div id="black" class="my_slider" max="255" def="40" min="0" width="255" onclick="alert(getSlider('black').value);" onmouseup="alert(getSlider('black').value);"></div></td>
</tr>
<tr>
<td>Red:</td><td><div id="red" class="my_slider" max="1000" def="890" min="0" width="255" onclick="alert(getSlider('red').value);" onchange="alert(getSlider('red').value);"></div></td>
</tr>
<tr>
<td>Green:</td><td><div id="green" c class="my_slider" max="255" def="10" min="0" width="255"></div></td>
</tr>
<tr>
<td>Blue:</td><td><div id="blue" class="my_slider" max="100" def="40" min="0" width="255"></div></td>
</tr>
<tr>
<td>testadd:</td><td id="testadd"> </td>
</tr>
</table>
</div>
<div id="custom-tip-slider"></div>
</div>
<div class="x-tab" title="Parame2">
<div id="slid_group1" name = "slid_group1" class="my_slidergroup1">
<table>
<tr>
<td>Black:</td><td><div id="black1" class="my_slider" max="255" def="40" min="0" width="255" onclick="alert(getSlider('black1').value);" onmouseup="alert(getSlider('black1').value);"></div></td>
</tr>
<tr>
<td>Red:</td><td><div id="red1" class="my_slider" max="1000" def="890" min="0" width="255" onclick="alert(getSlider('red1').value);" onchange="alert(getSlider('red1').value);"></div></td>
</tr>
<tr>
<td>Green:</td><td><div id="green1" c class="my_slider" max="255" def="10" min="0" width="255"></div></td>
</tr>
<tr>
<td>Blue:</td><td><div id="blue1" class="my_slider" max="100" def="40" min="0" width="255"></div></td>
</tr>
<tr>
<td>testadd:</td><td id="testadd1"> </td>
</tr>
</table>
</div>
</div>
<div class="x-tab" title="Parame3">
<div id="slid_group1" name = "slid_group1" class="my_slidergroup1">
<table>
<tr>
<td>Black:</td><td><div id="black2" class="my_slider" max="255" def="40" min="0" width="255" onclick="alert(getSlider('black2').value);" onmouseup="alert(getSlider('black2').value);"></div></td>
</tr>
<tr>
<td>Red:</td><td><div id="red2" class="my_slider" max="1000" def="890" min="0" width="255" onclick="alert(getSlider('red2').value);" onchange="alert(getSlider('red2').value);"></div></td>
</tr>
<tr>
<td>Green:</td><td><div id="green2" c class="my_slider" max="255" def="10" min="0" width="255"></div></td>
</tr>
<tr>
<td>Blue:</td><td><div id="blue2" class="my_slider" max="100" def="40" min="0" width="255"></div></td>
</tr>
<tr>
<td>testadd:</td><td id="testadd2"> </td>
</tr>
</table>
</div>
</div>
</div>
</div>
<input type="button" value="testadd" onclick="testadd()">
<script type="text/javascript">
function testadd(){
var test = document.getElementById('testadd');
var test1 = document.getElementById('testadd1');
var test2 = document.getElementById('testadd2');
test.innerHTML = '<div id="abc" class="my_slider" max="100" def="40" min="0" width="255" onclick="alert(getSlider(\'abc\').value);" ></div>';
test1.innerHTML = '<div id="abcd" class="my_slider" max="100" def="40" min="0" width="255" onclick="alert(getSlider(\'abcd\').value);" ></div>';
test2.innerHTML = '<div id="abcde" class="my_slider" max="100" def="40" min="0" width="255" onclick="alert(getSlider(\'abcde\').value);" ></div>';
my_sliderGroups('my_slidergroup1','my_slider');
}
</script>
/*
* MAP对象,实现MAP功能 written by danny zhou, 2005-04-15
*
* 接口: size() 获取MAP元素个数 isEmpty() 判断MAP是否为空 clear() 删除MAP所有元素 put(key, value)
* 向MAP中增加元素(key, value) remove(key) 删除指定KEY的元素,成功返回True,失败返回False get(key)
* 获取指定KEY的元素值VALUE,失败返回NULL element(index)
* 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL containsKey(key)
* 判断MAP中是否含有指定KEY的元素 containsValue(value) 判断MAP中是否含有指定VALUE的元素 values()
* 获取MAP中所有VALUE的数组(ARRAY) keys() 获取MAP中所有KEY的数组(ARRAY)
*
* 例子: var map = new Map();
*
* map.put("key", "value"); var val = map.get("key") ……
*
*/
function Map() {
this.elements = new Array();
// 获取MAP元素个数
this.size = function() {
return this.elements.length;
}
// 判断MAP是否为空
this.isEmpty = function() {
return (this.elements.length < 1);
}
// 删除MAP所有元素
this.clear = function() {
this.elements = new Array();
}
// 向MAP中增加元素(key, value)
this.put = function(_key, _value) {
this.elements.push({
key : _key,
value : _value
});
}
//增加元素并覆盖
this.putOverride = function(_key,_value){
this.remove(_key);
this.put(_key,_value);
}
// 删除指定KEY的元素,成功返回True,失败返回False
this.remove = function(_key) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
this.elements.splice(i, 1);
return true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
// 获取指定KEY的元素值VALUE,失败返回NULL
this.get = function(_key) {
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
return this.elements[i].value;
}
}
} catch (e) {
return null;
}
}
// 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
this.element = function(_index) {
if (_index < 0 || _index >= this.elements.length) {
return null;
}
return this.elements[_index];
}
// 判断MAP中是否含有指定KEY的元素
this.containsKey = function(_key) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
// 判断MAP中是否含有指定VALUE的元素
this.containsValue = function(_value) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
// 获取MAP中所有VALUE的数组(ARRAY)
this.values = function() {
var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
}
return arr;
}
// 获取MAP中所有KEY的数组(ARRAY)
this.keys = function() {
var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
}
return arr;
}
}
function NumberArray(){
this.elements = new Array();
this.addandReturnMax = function(num){
this.add(num);
this.sort();
return this.max();
}
this.add = function(num){
num = num.replace(/\D/g,'');
this.elements.push(num);
}
this.sort = function(){
this.elements = this.bubbleSort();
return this.elements;
}
this.max = function(){
return this.elements.slice(0,1);
}
this.min = function(){
return this.elements.slice(-1,0);
}
this.bubbleSort = function() {
var arr = this.elements;
// 外层循环,共要进行arr.length次求最大值操作
for (var i = 0; i < arr.length; i++) {
// 内层循环,找到第i大的元素,并将其和第i个元素交换
for (var j = i; j < arr.length; j++) {
if (parseInt(arr[i]) < parseInt(arr[j])) {
// 交换两个元素的位置
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
this.clear = function(){
this.elements = new Array();
}
}
/*
* Ext JS Library 3.0 Pre-alpha
* Copyright(c) 2006-2008, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
/**
* @class Ext.ux.SliderTip
* @extends Ext.Tip
* Simple plugin for using an Ext.Tip with a slider to show the slider value
*/
Ext.ux.SliderTip = Ext.extend(Ext.Tip, {
minWidth: 10,
offsets : [0, -10],
init : function(slider){
slider.on('dragstart', this.onSlide, this);
slider.on('drag', this.onSlide, this);
slider.on('dragend', this.hide, this);
slider.on('destroy', this.destroy, this);
},
onSlide : function(slider){
this.show();
this.body.update(this.getText(slider));
this.doAutoWidth();
this.el.alignTo(slider.thumb, 'b-t?', this.offsets);
},
getText : function(slider){
return slider.getValue();
}
});
var my_sliderGroups ;
var allSliderArr = new Array();
Ext.onReady(function(){
var tip = new Ext.ux.SliderTip({
getText: function(slider){
return String.format('<b>{0}% complete</b>', slider.getValue());
}
});
// var slider = new Ext.Slider({
// renderTo: 'custom-tip-slider',
// width: 214,
// increment: 10,
// minValue: 0,
// maxValue: 100,
// plugins: tip
// });
my_sliderGroups = function(groupclassname,itemclassname){
clearSliders();
var sliders = Ext.query("*[class="+groupclassname+"] *[class="+itemclassname+"]");
for(var i=0;i<sliders.length;i++){
// alert("slider_"+sliders[i].id + " "+ sliders[i].def);
var item = new Ext.Slider({
// id: sliders[i].id,
id: "slider_"+sliders[i].id,
renderTo: sliders[i].id,
width: sliders[i].width,
minValue: sliders[i].min,
maxValue: sliders[i].max,
value:sliders[i].def,
plugins: new Ext.ux.SliderTip()
})
item.on({
'dragend':function(){
// alert( this.getValue() );
}
,'change':function(slider, newValue, oldValue){
// alert(this.getValue());
// alert(this.maxValue+"=="+this.value +"---"+this.minValue+"===" + this.getId() + " newValue:" + newValue + " oldValue:" + oldValue);
var params = new Array();
// params.push(this.minValue);
// params.push();
// params.push(this.maxValue);
var ls_p = new _param();
ls_p.setMin(this.minValue);
ls_p.setMax(this.maxValue);
ls_p.setValue(this.value);
params.push(ls_p);
paramValues.putOverride(this.getId(),params);
// alert(paramValues.get(this.getId())[0].value);
}
});
// item.destroy() ;
allSliderArr.push(item);
}
// var grup = Ext.get(groupid).dom;
// for(var i=0;i<grup.children.length;i++){
// var itemslider = new Ext.Slider({
// renderTo: grup.children[i].id,
// width: 214,
// minValue: 0,
// maxValue: 100,
// plugins: new Ext.ux.SliderTip()
// });
// }
}
var my_slideAllByClass = function(classname){
var sliders = Ext.query("*[class="+classname+"]");
for(var i=0;i<sliders.length;i++){
var itemslider = new Ext.Slider({
renderTo: sliders[i].id,
width: sliders[i].width,
minValue: sliders[i].min,
maxValue: sliders[i].max,
value:sliders[i].def,
plugins: new Ext.ux.SliderTip()
});
}
}
my_sliderGroups('my_slidergroup1','my_slider');
// my_slideAllByClass('my_slider');
////////////////////////base window//////////////////////////
var win;
var button = Ext.get('show-param-btn');
// Panel for the west
var panel = new Ext.Panel({
el: 'param-tabs',
region: 'west',
split: true,
width: 500,
height:280,
collapsible: true,
margins:'3 0 3 3',
cmargins:'3 3 3 3'
});
var tabs = new Ext.TabPanel({
el: 'param-tabs',
autoTabs:true,
activeTab:0,
deferredRender:false,
border:false
});
button.on('click', function(){
// create the window on the first click and reuse on subsequent clicks
if(!win){
win = new Ext.Window({
el:'param-set-win',
layout:'fit',
width:500,
height:385,
closeAction:'hide',
plain: true,
items: [tabs],
buttons: [
{
text:getTextByInput('button_add'),
handler: function(){
alert(getSlider('green') .value );
//alert(my_GetGridValue(grid,2,2,'id'));
}
},
{
text:getTextByInput('button_edit'),
handler: function(){
addOrEdit = 'add';
my_editMatrix(grid);
//alert(my_GetGridValue(grid,2,2,'id'));
}
},
{
text:getTextByInput('button_delete'),
handler: function(){
my_deleteMatrix(grid);
//alert(my_GetGridValue(grid,2,2,'id'));
}
},{
text: getTextByInput('button_close'),
handler: function(){
win.hide();
}
}]
});
}
win.show(this);
});
});
function setDisabled(id,type){
var obj = document.getElementById(id);
if(type == 'auto'){
if(obj.disabled == true){
obj.disabled = false;
}else{
obj.disabled = true;
}
}else{
obj.disabled = type;
}
}
function getTextByInput(id){
return Ext.get(id).dom.value;
}
function addSelectItem(obj,value,text){
var opt = new Option(text,value);
obj.add(opt);
}
function hideWin(w){
if( w){
w.hide();
}
}
var paramValues = new Map();
var _param = function(){
var value;
var min;
var max;
this.setValue = function(v){
this.value = v;
}
this.setMin = function(m){
this.min = m;
}
this.setMax = function(m){
this.max = m;
}
}
var getSlider = function(id){
return paramValues.get("slider_" + id)[0];
}
var clearSliders = function(){
for(var i=0;i<allSliderArr.length;i++){
allSliderArr[i].destroy() ;
}
allSliderArr = new Array();
}
分享到:
相关推荐
- `slider`:`Ext.Slider`,提供滑动条功能,用户可以通过拖动滑块来选择值。 - `progress`:`Ext.ProgressBar`,显示进度条,通常用于表示任务的完成度。 - `statusbar`:`Ext.StatusBar`,用于显示应用的状态...
5. **`slider`** - `Ext.Slider`,滑动条组件,用于输入范围内的数值。 6. **`progress`** - `Ext.ProgressBar`,进度条组件,用于展示任务完成的进度。 7. **`statusbar`** - `Ext.StatusBar`,状态条组件,...
- `slider`: `Ext.Slider` - `spacer`: `Ext.Spacer` - `splitbutton`: `Ext.SplitButton` - `tabpanel`: `Ext.TabPanel` - `treepanel`: `Ext.tree.TreePanel` - `viewport`: `Ext.ViewPort` - `window`: `Ext....
**Ext.Slider** - **描述**: 提供了通过拖动滑块来调整数值的功能。 - **用途**: 用户界面中常见的用于调整音量、亮度等参数的组件。 **Ext.ProgressBar** - **描述**: 显示任务进度的可视化组件。 - **用途**: 在...
- **`slider` (Ext.Slider)**: 滑动条组件,常用于调整数值范围。 - **`progress` (Ext.ProgressBar)**: 进度条组件,可用于显示任务完成的进度情况。 - **`statusbar` (Ext.StatusBar)**: 状态条组件,用于显示应用...
5. **`slider`:** 滑动条组件,用于接收用户输入的范围值,由`Ext.Slider`类提供支持。 6. **`progress`:** 进度条组件,用于显示操作进度,如上传或下载进度,通过`Ext.ProgressBar`类实现。 7. **`statusbar`:**...
- **`Class`**: `Ext.Slider` - **描述**: 提供一个可以通过拖动来调节值的滑动条。 6. **`progress`:** - **`xtype`**: `progress` - **`Class`**: `Ext.ProgressBar` - **描述**: 显示任务进度的进度条。 ...
- `slider`: 用于创建滑动条,用户可以通过拖动滑块来选择数值。 - `progress`: 显示进度条,用于表示任务完成的进度。 - `statusbar`: 提供了一个区域来显示应用程序的状态信息,可以包含状态文本、按钮等。 - ...
- `slider`: `Ext.Slider` - `spacer`: `Ext.Spacer` - `splitbutton`: `Ext.SplitButton` - `tabpanel`: `Ext.TabPanel` - `treepanel`: `Ext.tree.TreePanel` - `viewport`: `Ext.ViewPort` - `window`: `...
jQuery UI 是一个基于 jQuery 的用户界面库,它提供了一系列的用户界面插件,如可拖拽、可排序、对话框等组件,以及一组视觉主题来帮助开发者快速创建丰富的网页应用。本手册将详细介绍 jQuery UI 中的基本鼠标互动...
- **`fieldset`** (`fieldsetExt.form.FieldSet`):字段集,用于将一组相关的字段组合在一起。 - **`formpanel`** (`formpanelExt.form.Panel`):表单面板,用于构建完整的表单。 以上列出的`xtype`类型涵盖了...