1. 程式人生 > >EasyUI入門(Accordion,Layout)

EasyUI入門(Accordion,Layout)

           和以前一樣,這個博文依舊是演示文件中的Demo。

一.Accordion(分類)

           Accordion單詞意為手風琴,可摺疊的。分類空間允許使用者使用多面板,但在同一時間只會顯示一個。每個面板都內建支援展開和摺疊功能。點選一個面板的標題將會展開或摺疊面板主體。面板內容可以通過指定的'href'屬性使用ajax方式讀取面板內容。使用者可以定義一個被預設選中的面板,如果未指定,那麼第一個面板就是預設的。

1.建立分類

          通過標籤建立分類,給<div/>標籤新增一個名為'easyui-accordion'的類ID。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EasyUI入門</title>
<!-- 在head中引入必要的js檔案和css檔案 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/locale/easyui-lang-zh_CN.js"></script>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/default/easyui.css"/>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/icon.css"/>

<script type="text/javascript">
	$(function(){
		//我們可以更改或修改面板的一些功能以後再重新建立它。
		$('#aa').accordion({    
		    animate:true  
		});
		//重新整理分類面板內容。呼叫'getSelected'方法獲取當前面板,此外我們還可以呼叫'refresh'方法重新載入新內容。
		var pp = $('#aa').accordion('getSelected'); // 獲取選擇的面板 
		if (pp){    
		    pp.panel('refresh','1.jsp');  // 呼叫'refresh'方法重新整理 
		}
	});
</script>	
</head>
<body>
	<div id="aa" class="easyui-accordion" style="width:300px;height:200px;">   
	    <div title="Title1" data-options="iconCls:'icon-save'" style="overflow:auto;padding:10px;">   
	          <h3 style="color:#0099FF;">小情歌</h3>   
	          <p>這是一首簡單的小情歌</p>   
	          <p>這是一首簡單的小情歌</p>  
	    </div>   
	    <div title="Title2" data-options="iconCls:'icon-reload',selected:true" style="padding:10px;">   
	        content2    
	    </div>   
	    <div title="Title3">   
            content3    
    </div>   
</div> 
</body>
</html>

                頁面效果:

                 我們需要通過一個div標籤定義一個Accordion容器, 然後通過子div標籤來建立面板。其中<p/>標籤自帶換行,並且當多個div的selected標籤為true時,最前面的標籤會預設執行selected。

                  現在說一個語句:

                    var pp = $('#aa').accordion('getSelected'); // 獲取選擇的面板                          if (pp){                                 pp.panel('refresh','1.jsp');  // 呼叫'refresh'方法重新整理                         }

                 在上篇部落格末尾我認為.accordion和.panel是一個方法,現在覺得是錯誤的,現在看一下,我覺得 $('#aa').accordion的含義是說明這個id為aa的div標籤現在是一個accordion物件,而getSelected是這個物件的一個方法,由於後面沒有值,說明這個方法沒有引數。而寫.accordion和.panel的原因,我認為是可能是同名的方法比較多,通過這個就可以指明這個標籤代表的或引用指向的到底是個什麼物件。(自己理解的,如果覺得有錯誤望告知。。。)

二.Layout(佈局)

                佈局容器有5個區域:北、南、東、西和中間。中間區域面板是必須的,邊緣的面板都是可選的。每個邊緣區域面板都可以通過拖拽其邊框改變大小,也可以點選摺疊按鈕將面板摺疊起來。佈局可以進行巢狀,使用者可以通過組合佈局構建複雜的佈局結構。

1.通過標籤建立佈局

                為<div/>標籤增加名為'easyui-layout'的類ID。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EasyUI入門</title>
<!-- 在head中引入必要的js檔案和css檔案 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/locale/easyui-lang-zh_CN.js"></script>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/default/easyui.css"/>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/icon.css"/>

<script type="text/javascript">
	$(function(){
	
	});
</script>	
</head>
<body>
	<div id="cc" class="easyui-layout" style="width:600px;height:400px;">   
	    <div data-options="region:'north',title:'上',split:false" style="height:100px;"></div>   
	    <div data-options="region:'south',title:'下',split:true" style="height:100px;"></div>   
	    <div data-options="region:'east',iconCls:'icon-reload',title:'右',split:false" style="width:100px;"></div>   
	    <div data-options="region:'west',title:'左',split:true" style="width:100px;"></div>   
	    <div data-options="region:'center',title:'中'" style="padding:5px;background:#eee;"></div>   
	</div>  
</div> 
</body>
</html>

                   我們通過父div標籤來作為easyui-layout容器,然後通過子div的region屬性和style屬性來指定div的位置或者height和width。其中split屬性為true時,會顯示分割條紋,如果設為false,則使區域間不產生無橫的間隔。

                  頁面效果圖:

2.使用完整頁面建立佈局

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EasyUI入門</title>
<!-- 在head中引入必要的js檔案和css檔案 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/locale/easyui-lang-zh_CN.js"></script>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/default/easyui.css"/>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/icon.css"/>

<script type="text/javascript">
	$(function(){
	
	});
</script>	
</head>
<body class="easyui-layout">   
    <div data-options="region:'north',title:'North Title',split:true" style="height:100px;"></div>   
    <div data-options="region:'south',title:'South Title',split:true" style="height:100px;"></div>   
    <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;"></div>   
    <div data-options="region:'west',title:'West',split:true" style="width:100px;"></div>   
    <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;"></div>   
</body>  
</html>

                 頁面效果描述:

                 和上一個程式碼塊不同的是,這次將body標籤作為佈局用的父標籤,所以這次的佈局會填滿整個螢幕。

3. 建立巢狀佈局

                 注意:巢狀在內部的佈局面板的左側(西面)面板是摺疊的。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EasyUI入門</title>
<!-- 在head中引入必要的js檔案和css檔案 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/locale/easyui-lang-zh_CN.js"></script>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/default/easyui.css"/>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/icon.css"/>

<script type="text/javascript">
	$(function(){
	
	});
</script>	
</head>
<body class="easyui-layout">   
    <div data-options="region:'north',title:'上'" style="height:100px"></div>   
    <div data-options="region:'center'">   
        <div class="easyui-layout" data-options="fit:true">   
            <div data-options="region:'north',title:'North Title',split:true" style="height:100px;"></div>   
		    <div data-options="region:'south',title:'South Title',split:true" style="height:100px;"></div>   
		    <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;"></div>   
		    <div data-options="region:'west',title:'West',split:true" style="width:100px;"></div>   
		    <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;"></div>   
        </div>   
    </div>   
</body>  

</html>

                   上述程式碼中有一個fit屬性,它的作用是自適應父容器的大小。簡單的一個體現就是如果不設定為true,那麼頁面可以就不會被顯示。

4. 通過ajax讀取內容

                   佈局是以面板為基礎建立的。所有的佈局面板都支援非同步載入URL內容。使用非同步載入技術,使用者可以使自己的佈局頁面顯示的內容更多更快。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EasyUI入門</title>
<!-- 在head中引入必要的js檔案和css檔案 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-easyui-1.6.6/locale/easyui-lang-zh_CN.js"></script>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/default/easyui.css"/>
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/jquery-easyui-1.6.6/themes/icon.css"/>

<script type="text/javascript">
	$(function(){
		//得到這個layout佈局面板物件
		$('#cc').layout(); 
		//對這個面板佈局物件進行操作。
		$('#cc').layout('collapse','west');
		//
		$('#cc').layout('add',{    
		    region: 'east',    
		    width: 180,    
		    title: 'West Title',    
		    split: true,    
		    tools: [{    
		        iconCls:'icon-add',    
		        handler:function(){
		        	alert('add')
		        }    
		    },{    
		        iconCls:'icon-remove',    
		        handler:function(){
		        	alert('remove')
		        }    
		    }]    
		});  

	});
</script>	
</head>
<body id="cc" class="easyui-layout">   
    <div data-options="region:'west',title:'左',href:'1.jsp',split:true" style="width:180px" ></div>   
    <div data-options="region:'center',title:'中',href:'1.jsp'" ></div>   
</body>  
</html>

              頁面效果圖: 

三.總結

               在操作物件的時候,我們應該先用 " . " 的方式來指明操作的物件是一個什麼物件,然後在呼叫這個物件的方法。