1. extjs界面載入慢
相對來說,載入是稍微有點遲鈍,注意以下幾點就可以避免
慢是因為要載入js包,所以導致慢!
第一、盡量載入需要的包,避免載入不需要的包
第二、如果是對外發布的話,請壓縮一下js和css
第三、對每個頁面進行優化,比如控制項等
第四、適當緩存
2. extjs 緩存 頁面
在不修改應用架構的情況下, 用oscache 把頁面緩存。
extjs介紹:
自動生成行號,支持checkbox全選,動態選擇顯示哪些列,支持本地以及遠程分頁,可以對單元格按照自己的想法進行渲染,這些也算可以想到的功能。
1、ExtJS可以用來開發RIA也即富客戶端的AJAX應用,是一個用javascript寫的,主要用於創建前端用戶界面,是一個與後台技術無關的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各種開發語言開發的應用中。ExtJs最開始基於YUI技術,由開發人員JackSlocum開發,通過參考JavaSwing等機制來組織可視化組件,無論從UI界面上CSS樣式的應用,到數據解析上的異常處理,都可算是一款不可多得的JavaScript客戶端技術的精品。
2、Ext的UI組件模型和開發理念脫胎、成型於Yahoo組件庫YUI和Java平台上Swing兩者,並為開發者屏蔽了大量跨瀏覽器方面的處理。相對來說,EXT要比開發者直接針對DOM、W3C對象模型開發UI組件輕松。
3. extjs tbar怎麼樣在頁面兩行顯示啊。。。一行太多了
寫兩個合並就可以。
vartoolbarTop=Ext.create('Ext.toolbar.Toolbar',{
dock:'top',
items:[{xtype:'textfield'},{xtype:'button',text:'查詢'}]
});
vartoolbarBottom=Ext.create('Ext.toolbar.Toolbar',{
style:{
borderTopWidth:'0px!important',
borderBottomWidth:'1px!important'
},
items:[{xtype:'textfield'}]
});
vargrid=Ext.create('Ext.grid.Panel',{
dockedItems:[toolbarTop,toolbarBottom],
.....
}
4. extjs怎麼在載入數據時,在主界面顯示'正在載入'注意啊不是彈出層顯示,載入完畢顯示數據
在主界面顯示'正在載入'------------->你是說需要一個自己定義的遮罩層么?
不要extjs那個自帶的遮罩層么?
5. 請教EXTJS高手,如何用EXTJS寫出這種漂亮的界面
寫出漂亮的界面就兩種方式,一種最根本,寫schema,這個需要安裝sencha cmd,比較繁瑣,但優點是代碼少。比如extjs提供的幾種schema都是這樣寫出來的。
還有一種是在顯示組件上加cls,然後在css中自己實現.
什麼樣的界面都可以實現,前提是需要了解extjs的css實現方式。
這是css的例子
/*按下按鈕時顏色*/
.mocoolka .mk-button.mk-option.x-btn-focus {
background-color: #ddd !important;
border: 0px solid transparent;
}
/*移動到按鈕上時的顏色*/
.mocoolka .mk-button.x-btn-over {
background-color: #53CD78 !important;
border: 1px solid transparent;
}
/*按下按鈕時顏色*/
.mocoolka .mk-button.x-btn-focus {
background-color: #43C86F !important;
border: 1px solid transparent;
}
/*大按鈕的字體*/
.mocoolka .mk-button.mk-big-button .x-btn-inner-default-small {
font-size: 18px;
padding: 5px 5px;
}
這是實現後的界面
6. Extjs如何動態載入Extjs腳本
1、首先,需要先創建一個基本可用的 ExtJS 模板, 這個很簡單, 如下所示:
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="http://localhost/ext-4/resources/css/ext-all.css" />
<script type="text/javascript" src="http://localhost/ext-4/ext-debug.js"></script>
</head>
<body>
</body>
</html>
2、需要引用的腳本是 ExtJS 根目錄下的 ext-debug.js , 不是 ext-all-debug.js, 這個文件非常小, 只有幾百K , 當讓這個只是最基本的 ExtJS 組件, 不包括任何的界面功能。
3、配置 Ext.Loader 啟用動態載入;
4、ExtJS 中的動態載入是由 Ext.Loader 來完成的, 默認不啟用動態載入, 所以接下來需要做的事配置 Ext.Loader 啟用動態載入, 在上面模板的 body 標簽內添加如下代碼:
<script type="text/javascript">
Ext.onReady(function() {
Ext.Loader.setConfig({
enabled : true,
disableCaching: false,
paths : {
Ext : '/ext-4/src'
}
});
});
</script>
注意:上面的代碼啟用了動態載入, 禁用了瀏覽器緩存, 以及指定了 ExtJS 的所部署的路徑。
7. 如何在extjs中打開一個新的界面,原先的界面還存在。
添加單擊事件就可以了
listeners : {
'click' : tree_itemclick
}
-------------------------------------
function tree_itemclick (node, event) {
var tabId = "tab-" + node.id;
var tabTitle = node.text;
var tabLink = node.attributes.url;
//alert(tabLink);
currentPage = tabId;
var centerPanel = Ext.getCmp("mainpanel");
var tab = centerPanel.getComponent(tabId);
var subMainId = "tab-" + node.id + "-main";
if (!node.isLeaf()){
// 為葉子節點時,點擊進入鏈接
event.stopEvent();
return;
}
if (!tab) { //判斷MainTabPanel中是否存在這個頁面,如果不存在將創建一個
tab = centerPanel
.add(new Ext.Panel(
{
id : tabId,
title : tabTitle,
autoScroll : true,
iconCls : "tabIconCss",
layout : "fit", //填充布局,它不會讓load進來的東西改變大小
border : false,
closable : true,
//closeAction : 'hide',
items : [ {
showMask : true,
maskMsg : '正在載入數據,請稍等...',
scripts : true,
html : "<iframe scrolling='auto' frameborder='0' width='100%' height='100%' src='"
+ tabLink + "'> </iframe>"
} ]
}));
}else {
centerpanel.setActiveTab(tab);
}
centerPanel.setActiveTab(tab); //將焦點指向我點擊節點打開的頁面
};