bgjs初学者入门(六)按钮控件CButton
CButton控件是我们即将认识的第二个控件。它使用起来真的非常简单!
如前所述,既然它也是bgjs提供的一个控件,使用上就应该是这样:
var btn=new CButton({...});
btn.dosomething();...
下面,我们先来了解一些常用的属性选项。
- showTo: 要显示到的容器
- autoRender: 是否自动渲染
- title: 按钮上显示的名称
- icon: 按钮上显示的图案
- qtip: qtip提示
- disabled: 是否禁用
- cs: 样式(class的缩写)
- onclick: 点击时的回调函数
嗯,很多属性看起来很眼熟。没错,showTo等属性是继承自CBase基类,因此bgjs所有的控件都有这些属性。
同样,CButton也有setXY()和show()方法。
- setXY() 相对容器的坐标
- show() 显示出来
还是在test目录下建立一个新的html文件,命名为CButton.html.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CButton</title>
<script type="text/javascript" src="../bglib-all.js"></script>
<link rel="stylesheet" href="../default/global.css" type="text/css"/>
<link rel="stylesheet" href="../default/ru_share.css" type="text/css"/>
<style>
.mybutton {position:absolute ; margin:2px 3px;}
</style>
</head>
<body lang="zh">
</body>
</html>
<script type="text/javascript">
function myalert(){
CUtil.alert('你点击了CButton!');
}
Event.ready(function(){
var w = new CButton({showTo:document.body,qtip:'CButton内部的qtip',autoRender:true,cs:'mybutton', title:'你好,CButton',onclick:myalert});
w.setXY(200,200);
});
</script>
效果如下:

需要注意的几点:
1.cs、showTo、autoRender、qtip等属性是CBase类提供的。而CBase类是bgjs一切控件的基类,因此我们需要熟悉它们的功能。
2.控件内置的qtip属性,可以很方便地给控件增加一个tip提示(等效于手动调用CUtil.qtip,但是更方便!)
3.在示例代码中没有手动调用show(),而CButton也出现了,那是因为初始化的时候我们设置autoRender属性为true了。
4.注意css中mybutton的定义:"position:absolute"。因为默认bgjs的控件定位和普通页面元素一样,都是static的。要想setXY()方法生效,必须做这个定义。
上面这个例子没有演示给CButton控件加图片,我们现在就来加一个。
最后的效果是这样:

操作步骤如下:
1.首先你需要有一个图像文件,可以把它放在和网页同级的文件夹下。这个图像的大小需要注意:默认要求必须是16*16像素的!(如果你想要其他大小的图片,需要学习CTemplate的使用,这里不涉及,以后可能会有介绍)
2.加一个css类,设置背景图片为刚才的图片;
3.设置CButton的icon属性为刚才设置的css类
以下是一个完整的示例代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CButton</title>
<script type="text/javascript" src="../bglib-all.js"></script>
<link rel="stylesheet" href="../default/global.css" type="text/css"/>
<link rel="stylesheet" href="../default/ru_share.css" type="text/css"/>
<style>
.mybutton {position:absolute ; margin:2px 3px;}
.iconUser {background-image:url(user_green.gif) !important;}
</style>
</head>
<body lang="zh">
</body>
</html>
<script type="text/javascript">
function myalert(){
CUtil.alert('你点击了CButton!');
}
Event.ready(function(){
var w = new CButton({showTo:document.body, icon:'iconUser',qtip:'CButton内部的tip',cs:'mybutton', title:'你好,CButton',onclick:myalert});
w.setXY(200,200).render();
});
</script>
浙公网安备 33010602011771号