当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 漂亮的widgets,支持换肤和后期开发新皮肤

Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
JavaScript 创建随机数和随机图片
javascript document.execCommand() 常用解析
firefox下对ajax的onreadystatechange的支持情况分析
Javascript attachEvent传递参数的办法
jQuery Attributes(属性)的使用(一、属性篇)
jquery自动完成插件(autocomplete)应用之PHP版
查询绑定数据岛的表格中的文本并修改显示方式的js代码
讨论javascript(一)工厂方式 js面象对象的定义方法
IE不支持option的display样式,只能使用remove和add
多浏览器兼容的获取元素和鼠标的位置的js代码
js checkbox全选并将获取值放到input里边
javascript 日期联动选择器 [其中的一些代码值得学习]
javascript实现的仿51job地址多项选择方式效果
jQuery 渐变下拉菜单
利用图片的 onerror 事件载入默认图片
js实现页面打印功能实例代码(附去页眉页脚功能代码)
JQuery读取XML文件数据并显示的实现代码
比较详细的关于javascript 解析json的代码
TextArea 控件的最大长度问题(js json)

Javascript 中的 漂亮的widgets,支持换肤和后期开发新皮肤


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 391 ::
收藏到网摘: n/a

作者:ucren
演示效果:http://ucren.com/ucren-examples/widgets.html
已知缺陷:
1、换肤功能由于图片变动量比较大,所以加载有些慢。
2、widgets 不支持多态。
未来考虑解决的问题:
1、对图片进行预载处理
2、与框架 vjbox 整合到一起
未来考虑开发的新控件:
1、滑块调节器(类似windows音量调节器)
2、进度条
3、outlook 菜单
4、树
widgets.js

复制代码 代码如下:

/*
* Ucren example.
* Author:Dron
* Date:2007-3-31
* Contact:ucren.com
*/
var example = Ucren.getElement("example");
/* - - - - - - - - - - 定义按钮 - - - - - - - - - - */
var testbtn = new Ucren.Button({ caption: "示例按钮1", width: 80, handler: function (){ Ucren.alert("Hello world!", "示例按钮1"); } });
testbtn.applyTo("test-btn");
var testbtn2 = new Ucren.Button({ caption: "示例按钮2", width: 80, disabled: true });
testbtn2.applyTo("test-btn2");
var defaultbtn = new Ucren.Button({ caption: "经典样式", width: 74, handler: function (){ Ucren.useSkin("default"); } });
defaultbtn.applyTo("default-btn");
var xpbtn = new Ucren.Button({ caption: "XP样式", width: 74, handler: function (){ Ucren.useSkin("xp"); } });
xpbtn.applyTo("xp-btn");
var xpbtn = new Ucren.Button({ caption: "QQ样式", width: 74, handler: function (){ Ucren.useSkin("qq"); } });
xpbtn.applyTo("qq-btn");
var vistabtn = new Ucren.Button({ caption: "Vista样式", width: 74, handler: function (){ Ucren.useSkin("vista"); } });
vistabtn.applyTo("vista-btn");
var examplebtn = new Ucren.Button({ caption: "显示示例窗体", width: 100, handler: function (){ win1.show(); } });
examplebtn.applyTo("example");
var alertbtn = new Ucren.Button({ caption: "Alert", width: 60, handler: function (){ Ucren.alert("Test!", "模拟Alert"); } });
alertbtn.applyTo("alert-btn");
var promptbtn = new Ucren.Button({ caption: "Prompt", width: 60, handler: function (){ Ucren.prompt("请键入你的名字:", "匿名", returnValue);} });
promptbtn.applyTo("prompt-btn");
var confirmbtn = new Ucren.Button({ caption: "Confirm", width: 60, handler: function (){ Ucren.confirm("你真的要这样操作吗?", "请确认:", returnValue);} });
confirmbtn.applyTo("confirm-btn");
var ewin2btn = new Ucren.Button({ caption: "示例窗体2", width: 80, disabled: true, handler: function (){ win2.show(); } });
ewin2btn.applyTo("ewin2-btn");
var ewin3btn = new Ucren.Button({ caption: "示例窗体3", width: 80, disabled: true, handler: function (){ win3.show(); } });
ewin3btn.applyTo("ewin3-btn");
var cboxvaluebtn = new Ucren.Button({ caption: "值", width: 40, handler: function (){ Ucren.alert(testckbox.getValue(), "多选框的值是"); } });
cboxvaluebtn.applyTo("cbox-value");
var rdvaluebtn = new Ucren.Button({ caption: "值", width: 40, handler: function (){ Ucren.alert(testradio.getValue(), "单选框的值是"); } });
rdvaluebtn.applyTo("radio-value");
var cbvaluebtn = new Ucren.Button({ caption: "值", width: 40, handler: function (){ Ucren.alert(testcombo.getValue(), "下拉框的值是"); } });
cbvaluebtn.applyTo("combobox-value");

/* - - - - - - - - - - 定义窗体 - - - - - - - - - - */
var win1 = new Ucren.Window({
left : 100, top : 100, width : 430, height : 350,
minWidth : 430, minHeight : 350,
panel : "example-panel",
caption : "示例窗体",
icon : "images/ico.gif",
minButton : true, maxButton : true, cloButton : true, resizeAble : true,
onOpen : function (){ example.setDisplay(false); },
onClose : function (){ example.setDisplay(true); },
onResize : function (){ },
onMove : function (){ },
onFocus : function (){ },
onBlur : function (){ }
});
var win2 = new Ucren.Window({
left : 260, top : 30, width : 300, height : 250,
minWidth : 300, minHeight : 250,
panel : "example-panel2",
caption : "示例窗体2",
icon : "images/ico.gif",
minButton : true, maxButton : true, cloButton : true, resizeAble : true,
onOpen : function (){ ewin2btn.setDisabled(true); },
onClose : function (){ ewin2btn.setDisabled(false); },
onResize : function (){ },
onMove : function (){ },
onFocus : function (){ },
onBlur : function (){ }
});
var win3 = new Ucren.Window({
left : 290, top : 210, width : 380, height : 150,
minWidth : 380, minHeight : 150,
panel : "example-panel3",
caption : "示例窗体3",
icon : "images/ico.gif",
minButton : true, maxButton : false, cloButton : true, resizeAble : false,
onOpen : function (){ ewin3btn.setDisabled(true); },
onClose : function (){ ewin3btn.setDisabled(false); },
onResize : function (){ },
onMove : function (){ },
onFocus : function (){ },
onBlur : function (){ }
});
win2.show();
win3.show();
win1.show(); // 把 win1 放到最后 show 可以令 win1 初始化后置于最上层
/* - - - - - - - - - - 定义示例文本框 - - - - - - - - - - */
var testtxf1 = new Ucren.TextField({ text: "Test!", width: 120 });
testtxf1.applyTo("test-txf1");
var testtxf2 = new Ucren.TextField({ text: "Test!", width: 120, disabled: true });
testtxf2.applyTo("test-txf2");
/* - - - - - - - - - - 定义多选框 - - - - - - - - - - */
var testckbox = new Ucren.CheckBox([
{ container: "test-cbox1", value: "1", lable: "选项一", checked: true },
{ container: "test-cbox2", value: "2", lable: "选项二" },
{ container: "test-cbox3", value: "3", lable: "选项三", disabled: true },
{ container: "test-cbox4", value: "4", lable: "选项四", checked: true, disabled: true }
]);
/* - - - - - - - - - - 定义单选框 - - - - - - - - - - */
var testradio = new Ucren.Radio([
{ container: "test-radio1", value: "1", lable: "选项一" },
{ container: "test-radio2", value: "2", lable: "选项二", checked: true },
{ container: "test-radio3", value: "3", lable: "选项三" },
{ container: "test-radio4", value: "4", lable: "选项四", disabled: true }
]);
/* - - - - - - - - - - 定义下拉框 - - - - - - - - - - */
var combodatas = new Ucren.DataVess({
fields: ["text", "value"],
data: [
["选项1" , "option-1" ],
["选项2" , "option-2" ],
["选项3" , "option-3" ],
["选项4" , "option-4" ],
["选项5" , "option-5" ],
["选项6" , "option-6" ],
["选项7" , "option-7" ],
["选项8" , "option-8" ],
["选项9" , "option-9" ],
["选项10", "option-10"],
["选项11", "option-11"],
["选项12", "option-12"],
["选项13", "option-13"],
["选项14", "option-14"]
]
});
var testcombo = new Ucren.ComboBox({width: 120, value: "option-2", disabled: false, data: combodatas });
testcombo.applyTo("test-combobox");
/* - - - - - - - - - - functions - - - - - - - - - - */
function returnValue(v) { Ucren.alert(v + "", "返回值"); }

本地下载