Layui的一點小理解(上)


  首先聲明這是個人的一點理解,如有不對之處請指正,以下的例子有在官網上看到的,有的是自己寫的。還是老規矩最后會附上官網的,如有不明白之處,請查看文檔或留言。

  既然說Layui,當然要簡單的介紹以下什么是layui啊!下面是官方的解釋:

Layui 是一款采用自身模塊規范編寫的國產前端UI框架,遵循原生HTML/CSS/JS的書寫與組織形式,門檻極低,拿來即用。其外在極簡,卻又不失飽滿的內在,體積輕盈,組件豐盈,從核心代碼到API的每一處細節都經過精心雕琢,非常適合界面的快速開發。layui還很年輕,首個版本發布於2016年金秋,她區別於那些基於MVVM底層的UI框架,卻並非逆道而行,而是信奉返璞歸真之道,准確地說,她更多是為服務端程序員量身定做,你無需涉足各種前端工具的復雜配置,只需面對瀏覽器本身,讓一切你所需要的元素與交互、從這里信手拈來。

Layui兼容除IE6/7以外的全部瀏覽器,並且多數結構支持響應式

其實說的簡單點就是他是國產的,極其簡單的一個框架。下面將會介紹幾個簡單的功能。及自己的心得。

  他的引用是非常簡單的,我選擇的是在頁面中直接引用下載下來的文件,只要引用CSS文件和JS文件即可。

1 <link rel="stylesheet" href="./css/layui.css" media="all">
2 <script src="./layui.js"></script>

路徑請自行更改。其中引用的js需要說明一下,我現在引用的是全部的JS,也就是各個模塊都有,不用單獨的去選擇。在官網下載的文件中有個JS的文件夾,里面有各個模塊的JS,如果你只是應用了layui 的一個或少數幾個模塊,可以自己單獨引入!請看一下代碼:

<script><!--這個script需要寫在你用layui的js之后-->
layui.use(['layer', 'laypage', 'element'], function() {//這里面layui.use()是必須的,你要調用人家的東西,一定要遵守人家的規則;其中有兩個參數,第一個是你要調用的模塊,其中你調用的模塊必須是你上面引用
                                //js中有的,如果你很懶,就和我一樣,直接調用全部封裝好的JS });
</script>

可以看到我總共調用了三個模塊,所以我要把它寫在數組中,如果你僅僅是調用了一個模塊,那么你可以不用數組,直接用引號引起來就可以了。而后咱們要寫的代碼就要寫在function里面了。

layui.use(['layer', 'laypage', 'element'], function() {
    var layer = layui.layer,
        laypage = layui.laypage,
        element = layui.element();
         //向世界問個好
        layer.msg('Hello World');
        //監聽Tab切換
        element.on('tab(demo)', function(data) {
            layer.msg('切換了:' + this.innerHTML);
        });
        //分頁
        laypage({
            cont: 'pageDemo' //分頁容器的id
                        ,
            pages: 12 //總頁數
                        ,
            skin: '#008cee' //自定義選中色值
                        ,
            skip: true //開啟跳頁
                        ,
            jump: function(obj, first) {
                if(!first) {
                   layer.msg(JSON.stringify(obj.curr));
                }
            }
         });  
});                             

這里主要是實現的三個功能,一個是彈窗提示,另外兩個是監聽tab切換和分頁功能!其中的參數的作用在代碼中已經標注,這里就不做詳細的介紹了。

  還有就是一個alert功能的彈窗,我把它封裝成了一個函數。

 1 function alert1() {
 2                     layer.open({
 3                          skin: 'demo-class',
 4                          type:1,//加上這句話才能點擊多次的時候有效,否則第二次點擊的時候不能正確的彈出
 5                          area: ["300px","200px"],//彈窗的大小
 6                         content: $('#img'),
 7                         //btnAlign: 'c'//控制下面兩個按鈕顯示的位置
 8                         title: "這是彈出框的標題",
 9                         //btn: ['確定', '取消'],//這是彈出框的按鈕
10                         shadeClose:true,//點擊遮罩層同樣能關閉彈窗
11                         yes: function(index, layero) {
12                             //按鈕【按鈕一】的回調
13 
14                             console.log(JSON.stringify(layero))
15                             layer.close(index);//點擊確定之后,需要這句話才能關閉
16                         },
17                         btn2: function(index, layero) {
18                             //按鈕【按鈕二】的回調
19                             console.log(JSON.stringify(layero))
20 
21                             //return false 開啟該代碼可禁止點擊該按鈕關閉
22                         },
23                         btn3: function(index, layero) {
24                             //按鈕【按鈕三】的回調
25 
26                             //return false 開啟該代碼可禁止點擊該按鈕關閉
27                         },
28                         cancel: function() {
29                             //右上角關閉回調
30 
31                             //return false 開啟該代碼可禁止點擊該按鈕關閉
32                         }
33                     });
34                 }

你需要在你需要的地方調起函數就可以了。

介紹了這么多,發現少了一個地方就是HTML文檔,所以就直接把所有的源碼直接貼在下面,只要復制到本地,並且修改一下路徑就可以了!

  1 <!DOCTYPE html>
  2 <html>
  3 
  4     <head>
  5         <meta charset="utf-8">
  6         <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  7         <title>layui在線調試</title>
  8         <link rel="stylesheet" href="./css/layui.css" media="all">
  9         <style>
 10             body {
 11                 margin: 10px;
 12             }
 13             
 14             body .demo-class .layui-layer-title {
 15                 background: #c00;
 16                 color: #fff;
 17                 border: none;
 18             }
 19             
 20             body .demo-class .layui-layer-btn {
 21                 border-top: 1px solid #E9E7E7
 22             }
 23             
 24             body .demo-class .layui-layer-btn a {
 25                 background: #333;
 26             }
 27             
 28             body .demo-class .layui-layer-btn .layui-layer-btn1 {
 29                 background: #999;
 30             }
 31         </style>
 32     </head>
 33 
 34     <body>
 35         <img id="img" style="display: none;" src="images/face/70.gif">
 36         <blockquote class="layui-elem-quote">
 37             溫馨提示:如果最左側的導航的高度超出了你的屏幕,你可以將鼠標移入導航區域,然后滑動鼠標滾輪即可
 38         </blockquote>
 39 
 40         <div class="layui-tab layui-tab-card" lay-filter="demo" style="height: 300px;">
 41             <ul class="layui-tab-title">
 42                 <li class="layui-this">演示說明</li>
 43                 <li>標題一</li>
 44                 <li>標題二</li>
 45                 <li>標題三</li>
 46             </ul>
 47             <div class="layui-tab-content">
 48                 <div class="layui-tab-item layui-show">
 49                     在這里,你將以最直觀的形式體驗Layui!在編輯器中可以執行layui相關的一切代碼。
 50                     <br>你也可以點擊左側導航針對性地試驗我們提供的示例。
 51                 </div>
 52                 <div class="layui-tab-item">內容1</div>
 53                 <div class="layui-tab-item">內容2</div>
 54                 <div class="layui-tab-item">內容3</div>
 55             </div>
 56         </div>
 57         <div id="box_02">box_02</div>
 58         <div id="pageDemo"></div>
 59 
 60         <script src="./layui.js"></script>
 61         <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 62         <script>
 63             layui.use(['layer', 'laypage', 'element'], function() {
 64                 var layer = layui.layer,
 65                     laypage = layui.laypage,
 66                     element = layui.element();
 67 
 68                 //向世界問個好
 69                 layer.msg('Hello World');
 70 
 71                 //監聽Tab切換
 72                 element.on('tab(demo)', function(data) {
 73                     layer.msg('切換了:' + this.innerHTML);
 74 
 75                 });
 76 
 77                 //分頁
 78                 laypage({
 79                     cont: 'pageDemo' //分頁容器的id
 80                         ,
 81                     pages: 12 //總頁數
 82                         ,
 83                     skin: '#008cee' //自定義選中色值
 84                         ,skip: true //開啟跳頁
 85                         ,
 86                     jump: function(obj, first) {
 87                         if(!first) {
 88                             layer.msg(JSON.stringify(obj.curr));
 89 
 90                             
 91                         }
 92                     }
 93                 });
 94 
 95                 function alert1() {
 96                     layer.open({
 97                          skin: 'demo-class',
 98                          type:1,//加上這句話才能點擊多次的時候有效,否則第二次點擊的時候不能正確的彈出
 99                          area: ["300px","200px"],//彈窗的大小
100                         content: $('#img'),
101                         //btnAlign: 'c'//控制下面兩個按鈕顯示的位置
102                         title: "這是彈出框的標題",
103                         //btn: ['確定', '取消'],//這是彈出框的按鈕
104                         shadeClose:true,//點擊遮罩層同樣能關閉彈窗
105                         yes: function(index, layero) {
106                             //按鈕【按鈕一】的回調
107 
108                             console.log(JSON.stringify(layero))
109                             layer.close(index);//點擊確定之后,需要這句話才能關閉
110                         },
111                         btn2: function(index, layero) {
112                             //按鈕【按鈕二】的回調
113                             console.log(JSON.stringify(layero))
114 
115                             //return false 開啟該代碼可禁止點擊該按鈕關閉
116                         },
117                         btn3: function(index, layero) {
118                             //按鈕【按鈕三】的回調
119 
120                             //return false 開啟該代碼可禁止點擊該按鈕關閉
121                         },
122                         cancel: function() {
123                             //右上角關閉回調
124 
125                             //return false 開啟該代碼可禁止點擊該按鈕關閉
126                         }
127                     });
128                 }
129                 $('#box_02').click(function() {
130                     alert1();
131                 })
132             });
133         </script>
134     </body>
135 
136 </html>
View Code

  如果你還嫌麻煩,那么請下載我的百度網盤,直接下載解壓,然后再瀏覽器直接查看效果就可以了!

點這里

密碼:wza4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM