介紹一款輕量級js控制元件:easy.js
在使用 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{ width: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{ width: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= "width: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
相關文章
- 一個輕量級WebFramework開發框架介紹WebFramework框架
- 超輕量級MP4封裝方法介紹封裝
- JAVA輕量級鎖簡介Java
- 【Java面試】為什麼引入偏向鎖、輕量級鎖,介紹下升級流程Java面試
- 輕量級流程圖控制元件GoJS示例連載(一):最小化流程圖控制元件GoJS
- 輕量級配置中心Nodejs版NodeJS
- 國產輕量級BI平臺CBoard的安裝和初步使用介紹
- 輕量級富文字編輯器wangEditor原始碼結構介紹原始碼
- 輕量級CI/CD釋出部署環境搭建及使用_01_基本介紹
- 手把手教你打造一款輕量級canvas渲染引擎Canvas
- Blazor Bootstrap 元件庫 Toast 輕量彈窗元件介紹Blazorboot元件AST
- 開源輕量級辦公系統Sandbox介紹以及配套開發文件連載
- sqlite輕量型資料庫的介紹及應用SQLite資料庫
- DeshiJS 與 Vuejs、Angular 和 React:輕量級挑戰者JSVueAngularReact
- 輕量級超級 css 工具CSS
- 開源推薦:一款輕量級、高效能的電商系統
- HtmlParse:一款超輕量級的HTML檔案解析和爬取工具HTML
- 完全私有化部署!一款開源輕量級網站防火牆!網站防火牆
- 輕量級UI元件 MagicUI元件
- 輕量級IOC框架:Ninject框架
- C++ 輕量級物件JSON序列化實現C++物件JSON
- 輕量級壓測平臺RunnerGo簡介及使用教程Go
- 一款輕量好用的頁面錯誤監控平臺—— FrontJSJS
- Android RxLife 一款輕量級別的RxJava生命週期管理庫AndroidRxJava
- JSON 介紹JSON
- DuelJS 介紹JS
- JsDoc 介紹JS
- Pyjs介紹JS
- jsoncpp 介紹JSON
- jQuery驗證控制元件jquery.validate.js的使用介紹jQuery控制元件JS
- ShadowNode: 以更輕量級的方式使用 Node.jsNode.js
- GraphicsJS 入門,一個輕量級的前端圖形庫JS前端
- 數倉的兩種輕量級資料交換格式:json與jsonbJSON
- Flutter路由輕量級框架FRouterFlutter路由框架
- 輕量級orm框架——gzero指南ORM框架
- iOS 輕量級 HTML 解析方案iOSHTML
- 輕量級Web框架Flask(二)Web框架Flask
- [ElasticSearch ]2輕量級搜尋Elasticsearch