EasyUI入门

一、什么是easyui?

  easyui就是一个前端框架,JQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签,通俗来讲就是简化开发的一个框架。

  easyui框架提供了哪些东西让我们用?看一下easyui的api文档就知道了给我们提供了哪些东西,是如何的方便:

        

  看标记的内容,是我们比较常见的,按钮(easyui做的肯定比我们普通按钮什么都没有的更好)、日历、对话框窗口等等,并且对于每一个组件,easyui都会给出我们例子,供我们参考。

  为什么后台发开人员还需要用easyui这种前端框架?不是有前端开发人员吗?如果公司里只有“美工”,没有前端人员,所以一般是程序员兼职前端,所以一 般会找一个好用且功能全的js UI框架(当然,还有免费),这样页面基本就不用花费太多功夫了,与其同名的前端框架还有一个bootstrap。

二、如何使用easyui?

  通过实现resizable组件效果来讲解如何看文档和例子学习该框架:

  第一步:将下载的整个easyui文件赋值到项目下。

        解压之后复制

           

        查看easyui的目录结构

        

  第二步:现在就可以查看文档学习resizable文档内容。

        

        还是不懂,在easyui/demo/resizable/basic.html中查看内容(根据easyui给出的例子再对照文档就懂了)

        

        给出的例子中6-10行,导入了js类库和一些css;第16-18行关键代码就是文档中第一个使用案例。

  2.1、简单实现resizable组件的效果的两种方式

    方式一:html方式

    原理:页面加载完毕之后,easyui的文件在页面上寻找那些标签的class名字为easyui-开头,找到之后将eayui-”name”中的name拿到,拿到之后将这些标签处理为(渲染为)可以拖动改变大小的效果。

        

        

 1  <!--
 2  resizable实现的第一种方式:html
 3 实现原理:
 4         class:easyui-resizable
 5         页面加载完毕之后,easyui的主文件会扫描页面上所有的HTML标签,看那些标签的class的值以easyui-开头,获取easyui-之后的部分"resizable",那么easyui的主文件就将当前的这个标签处理为"resizable"效果。
 6         将当前的标签渲染为resizable组件:
 7         data-options:该resizable组件的属性:
 8             具体看文档,后面详细讲解
 9         style:div的一些属性:
10              200px    该div宽度占200像素
11              height:150px    高度占150像素
12              border:1px    边框粗度占1像素
13              solid:red    边框颜色是红色
14 -->
15 <div class="easyui-resizable" 
16     data-options="minWidth:50,minHeight:50" 
17     style="200px;height:150px;border:1px solid red;">
18 </div>

    方式二:html+js方式

    原理:页面加载完毕之后,获取页面上id为rr的元素,easyui的resizable函数将其处理为(渲染为)可以拖动改变大小的效果。

        

        

  2.2、使用resizable组件的属性的两种方式

            

    方式一:html方式

               

 1 <!--
 2         resizable实现的属性信息讲解(HTML)
 3         data-options:该resizable组件的属性。
 4         结合文档的注释:
 5              disabled:表示是否禁用大小调整功能,true:禁用  false:不禁用(默认)
 6              handles:表示调整大小的方向,n, e, s, w, ne, se, sw, nw, all
 7                  n:north 北部  e:east 东部  w:west 西部  s:south  南部
 8                  ne:东北,也就是右上角 se、sw、nw类似  
 9                  all:任意,全部
10              edge:边框边缘大小,设置能显示拉大小的那个箭头的范围,默认是5。
11              maxWidth:当调整大小时候的最大宽度,默认10000
12              maxHeight:当调整大小时候的最大高度,默认10000
13              minWidth:当调整大小时候的最小宽度,默认10
14              minHeight:当调整大小时候的最小高度,默认10
15         style:div的一些属性
16 -->
17 <div class="easyui-resizable" data-options="disabled:false,handles:'all',edge:30,maxWidth:400,maxHeight:400,minWidth:40,minHeight:40" 
18     style="200px;height:150px;border:1px solid red;">
19 </div>    

    方式二:html+js方式调用属性

         

 1 <script type="text/javascript">
 2         $(function(){
 3             $("#rr").resizable({
 4                 //设置resizable组件的属性,格式看文档中
 5                 disabled:false,
 6                 handles:'all',
 7                 edge:30,
 8                 maxWidth:400,
 9                 maxHeight:400,
10                 minWidth:40,
11                 minHeight:40    
12             });
13         });
14     </script>
15 </head>
16 <body>
17     <div id="rr" style="200px;height:150px;border:1px solid red;">
18     </div>
19 </body>

  2.3、resizable组件事件的使用

        

    只有一种方式,就是使用html+js:

        

 1 <script type="text/javascript">
 2             $(function(){
 3                 $("#rr").resizable({
 4                     onStartResize:function(){
 5                         $("#dv1").html("在开始改变大小的时候触发");                                
 6                     },
 7                     onResize:function(){
 8                         $("#dv2").html("我是开始拖动期间触发的事件");
 9                     },
10                     onStopResize:function(){
11                         $("#dv3").html("在停止改变大小的时候触发");
12                     }
13                 });
14 
15             });
16     </script>
17 </head>
18 <body>
19 <!--
20     resizable实现的事件信息讲解(HTML):
21         onStartResize:在开始改变大小的时候触发。
22         onResize:在调整大小期间触发,当返回false的时候,不会实际改变DOM元素大小。
23        onStopResize:在停止改变大小的时候触发
24 -->
25     <div id="rr" class="easyui-resizable" data-options="disabled:false,handles:'all',edge:30,maxWidth:400,maxHeight:400,minWidth:40,minHeight:40" style="200px;height:150px;border:1px solid red;">
26     </div>
27     <div id="dv1"></div>
28     <div id="dv2"></div>
29     <div id="dv3"></div>
30 </body>

  2.4、resizable组件方法的使用

        

    只有一种方式,就是使用html+js:

         

        

 1 <script type="text/javascript">
 2         $(function(){
 3             $("#bt1").click(function(){        
 4                 $("#rr").resizable("enable");    //enable方法启用调整大小功能。
 5             });
 6             
 7             $("#bt2").click(function(){
 8                 $("#rr").resizable("disable");    //disable方法禁用调整大小功能。
 9             });
10             
11             $("#bt3").click(function(){
12                 var obj = $("#rr").resizable("options");//options方法,返回调整大小属性
13                 $("#dv1").html(
14                     "最大宽:" + obj.maxWidth+
15                     "最大高:"+obj.maxHeight+
16                     "最小宽:"+obj.minWidth+
17                     "最小高:"+obj.minHeight+
18                     "边缘大小:"+obj.edge+
19                     "是否不可用:"+obj.disabled+
20                     "调整方位:"+obj.handles
21                 );
22             });
23         });
24     </script>
25 </head>
26 <body>
27 <!--
28     resizable实现的组件调用方法讲解(HTML+js):
29     options    返回调整大小属性。 
30     enable    启用调整大小功能。 
31     disable    禁用调整大小功能。          
32 -->
33     <div id="rr" class="easyui-resizable" data-options="disabled:false,handles:'all',edge:30,maxWidth:400,maxHeight:400,minWidth:40,minHeight:40" style="200px;height:150px;border:1px solid red;">
34     </div>
35     <input type="button" id="bt1" value="启用调整大小功能"/>
36     <input type="button" id="bt2" value="禁用调整大小功能"/>
37     <input type="button" id="bt3" value="返回调整大小属性"/>
38     <div id="dv1"></div>
39 </body>

    效果如下:

        

三、总结

  算是对easyui的入门吧,其他的组件大都类似这样使用,不会的话就使用文档+例子进行查看。

原文地址:https://www.cnblogs.com/AI-xiaocai/p/10863251.html