有谁知道关于javascript的控件类不

liusahara 2011-08-10 08:37:48

/**
* By www.865171.cn
* q q : 215288671
* Date : 2010.4.22
*/

/**
* 控件基类.
* 控件即是本包中已实现的控件对象.
*/
var CBase = {

//类型,保留作为Component标识.
type: 'CBase',

//代表该控件的DOM结点.
view: null,

draggable: false,

resizable: false,

id: 0,

title: '',

tleLen: 15,

//初始化.
initialize: function(opts) {

if ((typeof this.id) == 'undefined') {
this.id = CC.uniqueID();
}

//所有赋值给view的属性通过用viewAttr传递.
var viewAttr = null;

if (opts && opts.viewAttr) {
viewAttr = opts.viewAttr;
delete opts.viewAttr;
}

CC.extend(this, opts);

if (!this.view) {
this.view = CC. $C('DIV');
}

if (this.parent) {
this.parent.appendChild(this.view);
}

if (viewAttr) {
CC.extend(this.view, viewAttr);
}

//view附加一个控件本身的引用.
this.view.component = this;
}
,

//设置view的宽度.
setWidth: function(width) {
CC.style(this.view, 'width', width + 'px');
}
,

//设置view的高度.
setHeight: function(height) {
CC.style(this.view, 'width', height + 'px');
}
,

//设置view 的top.
setTop: function(top) {
CC.style(this.view, 'top', top + 'px');
}
,

setLeft: function(left) {
CC.style(this.view, 'left', left + 'px');
}
,

//是否禁用该控件的view,参数:true或false.
setDisabled: function(b) {
CC.disabled(this.view, b);
}
,

//设置view的className.
setClass: function(c) {
CC.setClass(this.view, c);
}
,

//设置控件view的属性.
//如设置高为setViewAttr('top',50);
setViewAttr: function(n, v) {
this.view[n] = v;
}
,

//设置view中任一子层id为childId的子结子的属性.
//属性也可以多层次.
//如存在一id为'_ico'子结点,设置其display属性为
//inspectAttr('_ico','style.display','block');
inspectViewAttr: function(childId, childAttrList, attrValue) {
var obj = CC.inspect(this.view, childId);
//??Shoud do this??
if (obj == null) {
return ;
}
CC.inspectAttr(obj, childAttrList, attrValue);
return obj;
}
,

//设置控件的图标,如果存在的话.
//图标结点id必须是'_ico'且在view中是唯一的.
setIcon: function(cssIco) {
this.inspectViewAttr('_ico', 'className', cssIco);
}
,


setVisible: function(b) {
CC.display(this.view, b);
}
,

//设置控件的标题,如果存在的话.
//标题结点id必须是'_tle'且在view中是唯一的.
setTitle: function(ss) {
this.title = ss;
var tle = CC.inspect(this.view, '_tle');
CC.style(tle.parentNode, 'title', tle);
tle.innerHTML = ss.truncate(this.tleLen);
}
,

//设置控件view的宽度高度.
setSize: function(width, height) {
CC.style(this.view, 'width', width + 'px');
CC.style(this.view, 'height', height + 'px');
}
,

setPosition: function(left, top) {
CC.style(this.view, 'left', left + 'px');
CC.style(this.view, 'top', top + 'px');
}
,

//控件view是否可见.
isVisible: function() {
return this.view.style.display != "none";
}
,

//为view添加DOM事件.
//useCapture:否是支持冒泡.
observe: function(name, observer, useCapture) {
Event.observe(this.view, name, observer, useCapture);
}
,


stopObserving: function(name, observer, useCapture) {
Event.stopObserving(this.view, observer, useCapture);
}
,

//设置控件是否可拖动.
//moveObj:发生拖动时要移动的结点.
setDragable: function(b, moveObj, fnOnMov, fnOnDrag, fnOnDrog) {
this.draggable = b;
(moveObj) ? Position.setDragable(this.view, moveObj, b, fnOnMov, fnOnDrag, fnOnDrog): Position.setDragable(this.view, this.view, b, fnOnMov, fnOnDrag, fnOnDrog);
}
,

//之前版本appendView已改为appendChild
//为view添加一个子DOM结点.
appendChild: function(v) {
this.view.appendChild(v);
}
,

removeChild: function(v) {
this.view.removeChild(v);
}
};



给个介绍的链接也可以
...全文
112 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang98722 2011-08-11
  • 打赏
  • 举报
回复
这种没有经过编码或者混淆的代码
如果找不到说明文档
直接看源代码就行了撒
  • 打赏
  • 举报
回复
源码里有写 By www.865171.cn,没去那个网址看看吗。
这个自己搜吧,除了搜索和原作者(你可以和他QQ联系),没什么其它资料。
JavaScript极速狂飙:组合拼接字符串的效率JavaScript极速狂飙:CSS样式表的背景渲染效率JavaScript面向对象的支持--(1)JavaScript面向对象的支持--(2)JavaScript面向对象的支持--(3)JavaScript面向对象的支持--(4)JavaScript面向对象的支持--(5)JavaScript面向对象的支持--(6)JavaScript精简学习1:基础知识JavaScript精简学习2:浏览器输出JavaScript精简学习3:图像JavaScript精简学习4:表单事半功倍之Javascript--(1)事半功倍之Javascript--(2)事半功倍之Javascript--(3)事半功倍之Javascript--(4)JavaScript教程--从入门到精通--(1)JavaScript教程--从入门到精通--(2)JavaScript教程--从入门到精通--(3)JavaScript教程--从入门到精通--(5)JavaScript教程--从入门到精通--(6)JavaScript教程--从入门到精通--(7)JavaScript教程--从入门到精通--(8)JavaScript教程--从入门到精通--(9)悟透JavaScript(李站老师)-编程的快乐悟透JavaScript(李站老师)-初看原型悟透JavaScript(李站老师)-对象素描悟透JavaScript(李站老师)-放下对象悟透JavaScript(李站老师)-构造对象悟透JavaScript(李站老师)-原型扩展用javascript操作 asp .net TextBox控件javascript操作 asp .net Label控件javascript操作 asp .net TextBox控件 下用javascript操作asp.net label控件 外一篇用javascript改变onclick调用的函数用JavaScript加密保护网站页面用Javascript检测网速的方法用Javascript评估用户输入密码的强度用JavaScript实现仿Windows关机效果用javascript实现进度条用javascript怎样实现图片模糊效果《ExtJS2.0实用简明教程》之Border区域布局《ExtJS2.0实用简明教程》之Ext库简介《ExtJS2.0实用简明教程》之布局概述《ExtJS2.0实用简明教程》之获得ExtJS《ExtJS2.0实用简明教程》之应用ExtJSjs访问xml之遍历节点树js访问xml之创建xmlDocumentjs访问xml之根节点操作js访问xml之节点操作(1)js访问xml之节点操作(2) js访问xml之节点对象属性和方法js访问xml之删除一个book元素节点js访问xml之添加一个book元素节点【JS】兼容ff的加入收藏和设为首页【补】【sina】绕过sina博客的限制,超级BT执行Javascript【blog】介绍一下给sina博客加背景音乐的办法【Blog】再次解说博客加音乐的办法张孝祥JavaScript教程笔记:HTML基础张孝祥JavaScript教程笔记:HTML基础(二)张孝祥JavaScript教程笔记:HTML基础(三)-URL,图像标签,图像地图JavaScript经典效果集锦(一)JavaScript经典效果集锦(二)JavaScript经典效果集锦(三)Javascript技术技巧大全(一)Javascript技术技巧大全(二)Javascript技术技巧大全(三)Javascript技术技巧大全(四)Javascript技术技巧大全(五)JavaScript[对象.属性]集锦之一

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧