在使用 easy.js 的组件之前,如果能花上几分钟看看下面的一些简单的入门指南,在使用组件的时候你会更加的得心应手。
简单性
easy.js 的组件在 UI(界面) 层面尽量保持简单,开发者可以很方便的通过修改 CSS 样式就可以轻松定制自己想要的样式。
使用一个组件通常情况下只需要寥寥几行 JS 代码。
一致性
组件在接口设计、命名规则上都尽可能的保持一致。通常,你只要使用过任意一个组件,那么其他组件也很容易上手。
模块化
每个组件都是一个独立的符合 AMD 规范的模块,都依赖 easy.js 的核心库,在使用时都可以通过 E.use 来进行加载。
命名空间
所有组件的命名空间都是 E.ui,在组件加载完后都可以通过 E.ui.xxxx 来访问。
实例化
在使用组件时都需要通过 new 关键字来实例化,组件类的首字母都是 大写。
实例化时,第一个参数 都是必需的,该参数通常都是设置需要实例化某个/组 DOM 元素。该参数可以是选择器字符串、DOM 元素以及 easyJS Object 的对象。
实例化时,第二个参数 都是可选的,该参数是一个多选可配置形式的 Object 对象。
事件处理
组件在实例化后都可以通过 on 方法来为组件绑定事件,同样,也可以通过 un 方法来卸载事件。各组件支持的事件类型可以在详细的说明文档中看到。在多选形式的配置参数中,除了可能存在 init 回调函数,不会有任何其他的回调。
销毁实例
组件实例可以通过 destroy 方法进行销毁。
该组件用于创建一个 Dialog 对话框,对话框里可以包含任何你想添加的内容。对话框的 HTML 结构是组件自动构建的,只需传递一个简单的文本就可以创建一个对话框,当然,你也可以传递自定义的 HTML 结构。对话框默认的样式是 windows 8 的简洁风格,你也可以很方便的自定义对话框的样式。
Dialog( target, [ options ] )
- 依赖
- JS : 依赖 Drag 组件
- CSS : 依赖样式
- HTML : 组件自动构建
参数
-
必需
-
可选
下表列出多选可配置形式的参数的详细说明。
参数 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
autoClose | Number | null |
自动关闭对话框的时间。 |
content | String|html String | Hello world : ) |
对话框的内容,可以是 HTML 字符串。 |
drag | Boolen | true |
是否允许拖拽对话框。 |
dragHandle | String|Element|easyJS Object | null |
自定义对话框的拖拽区域。 |
effects | String | null |
动画效果的名称。 fade 淡入淡出效果。 slide 由顶部向中间快速滑动的效果。 zoom 缩放效果。 |
elem | String|Element|easyJS Object | null |
自定义对话框的HTML结构。 |
fixed | Boolean | true |
是否固定定位,为 false 时则相对 body 进行绝对定位。 |
height | String | auto |
对话框的高度,需带单位。 |
left | String | null |
设置对话框的 x 轴定位值,需带单位,默认为水平居中。 |
lock | Boolean | false |
是否锁定对话框,锁定对话框时没有关闭按钮,也不能使用 ESC 键来关闭。 |
noFn | Function | null |
取消按钮的回调函数,该回调函数的 this 指向对话框元素,如果该函数返回 false,将不会关闭对话框。未设置该参数将不显示取消按钮。同时关闭按钮也会调用该回调函数。 |
noText | String | 取消 |
取消按钮的文本内容。 |
overlay | Boolean | true |
是否显示遮罩层。 |
title | String | null |
对话框的标题,未设置该参数将不显示对话框的标题栏。 |
top | String | null |
设置对话框的 Y 轴定位值,需带单位,默认为垂直居中。 |
topWindow | Boolean | false |
如果对话框定义在一个 iframe 中,是否允许其在顶级 window 中显示,如果需要在顶级窗口中显示,需要确保顶级窗口中有对话框的样式。 |
trigger | String | click |
触发显示对话框的事件,支持自定义事件。 |
width | String | 320px |
对话框的宽度,需带单位。 |
yesFn | Function | null |
确定按钮的回调函数,该回调函数的 this 指向对话框元素,如果该函数返回 false,将不会关闭对话框。未设置该参数将不显示确定按钮。 |
yesText | String | 确定 |
确定按钮的文本内容。 |
zIndex | Number | 9999 |
对话框的定位层级。 |
方法
下表列出了支持的事件类型。
事件类型 | 说明 | 事件对象 |
---|---|---|
open |
对话框显示时触发的事件。 |
event.target 对话框元素。 |
close |
对话框关闭时触发的事件。 |
event.target 对话框元素。 |
1
2
3
|
E.use( 'dialog' , function (){ // 在回调中实例化对话框 }); |
1
2
3
4
5
6
7
8
9
10
11
12
|
.eui_overlay{ background: #333; opacity:0.6; filter:alpha(opacity=60);
} .eui_dialog .dg_wrapper{ background: #3498f0; box-shadow:0
0 4px rgba(0, 0, 0, 0.4); position:relative; padding:5px; border:1px solid #3571a4; } .eui_dialog .dg_header{ height:27px; line-height:22px; overflow:hidden; color: #fff;
font-weight:700; text-indent:5px; } .eui_dialog .dg_btn_close{ 18px; height:18px; line-height:18px; overflow:hidden; float:right; font-size:22px;
font-family: "Helvetica Neue" ,Helvetica,Arial,sans-serif;
color: #fff; text-decoration:none; text-align:center; font-weight:400; position:absolute; top:6px; right:6px; background:#3498f0; } .eui_dialog .dg_btn_close:hover{ background: #c75050;
color:#fff; } .eui_dialog .dg_content{ padding:25px 10px; line-height:22px; border:1px solid #3c79ad;
background:#fff; } .eui_dialog .dg_footer{ 300; padding:10px; padding-top:0; overflow:hidden; _zoom:1; border:1px solid #3c79ad;
border-top:0 none; margin-top:-1px; background:#fff; } .eui_dialog .dg_btn_no, .eui_dialog .dg_btn_yes{ padding:0 18px; *padding:0 9px; height:20px; line-height:20px; background: #eaeaea;
cursor:pointer; float:right; margin-left:10px; font-family:"Microsoft yahei",arial; font-size:12px; outline:none; color:#333; text-decoration:none; border:1px solid #acacac; } .eui_dialog .dg_btn_yes{ color: #000; border-color:#3399ff;
} .eui_dialog .dg_btn_yes:hover, .eui_dialog .dg_btn_no:hover{ background: #e0effc;
} |
例子1
1
2
3
4
5
6
7
8
9
10
11
|
new E.ui.Dialog( '#runDemo1' ,
{ title : '对话框标题' , content : '对话框内容' , yesFn : function (){ alert( '我是确定按钮,回调函数返回false时不会关闭对话框。' ); return false ; }, noFn : function (){ alert( '我是取消按钮' ); } }); |
例子2
1
2
3
4
|
new E.ui.Dialog( '#runDemo2' ,
{ content : '不设置标题,直接不显示标题栏' , overlay : false }); |
例子3
1
2
3
4
5
|
new E.ui.Dialog( '#runDemo3' ,
{ title : '对话框的动画效果' , content : '显示和隐藏对话框的动画效果为淡入淡出。' , effects : 'fade' }); |
例子4
1
2
3
4
5
|
new E.ui.Dialog( '#runDemo4' ,
{ title : '对话框的动画效果' , content : '显示和隐藏对话框的动画效果为滑动。' , effects : 'slide' }); |
例子5
1
2
3
4
5
|
new E.ui.Dialog( '#runDemo5' ,
{ title : '对话框的动画效果' , content : '显示和隐藏对话框的动画效果为缩放。' , effects : 'zoom' }); |
例子6
1
2
3
4
5
6
|
new E.ui.Dialog( '#runDemo6' ,
{ title : '对话框的绝对定位' , content : '设置对话框在左上角显示。' , top : '100px' , left : '100px' }); |
例子7
1
|
<div id= "testBox" style= "120px;
height:100px; background:#fff; text-align:center; line-height:100px; display:none;" >Press Esc close.</div> |
1
2
3
4
|
new E.ui.Dialog( '#runDemo7' ,
{ elem : '#testBox' , dragHandle : '#testBox' }); |
easy.js官网:http://easyjs.org/docs/components/index.html
转载请指明:http://blog.csdn.net/yangkai_hudong