>  기사  >  웹 프론트엔드  >  ExtJS[Desktop]은 샘플 code_extjs를 래핑하는 아이콘 줄을 구현합니다.

ExtJS[Desktop]은 샘플 code_extjs를 래핑하는 아이콘 줄을 구현합니다.

WBOY
WBOY원래의
2016-05-16 17:14:53962검색

ExtJS의 데스크톱 데모에서는 기본 아이콘 배열이 줄 바꿈되지 않습니다. 즉, 데스크톱에 아이콘이 너무 많아 데스크톱 영역을 초과하면 아이콘이 가려집니다. 즉, 데스크톱 영역을 벗어난 부분이 표시됩니다. 작업 표시줄에 의해 차단됩니다. 다음 코드는 이 문제를 해결하는 것입니다.

먼저 Desktop.js에서 기능을 확장합니다.

코드 복사 코드는 다음과 같습니다.

initShortcut: function() {
var btnHeight = 64;
var btnWidth = 64;
var btnPadding = 30;
var col = {index : 1,x : btnPadding}; btnPadding};
var 하단;
var numberOfItems = 0;
var taskBarHeight = Ext.query(".ux-taskbar")
var bodyHeight = Ext.getBody ().getHeight() - taskBarHeight;
var items = Ext.query(".ux-desktop-shortcut")

for (var i = 0, len = items.length; i < ; len; i ) {
numberOfItems = 1;
bottom = row.y btnHeight;
if (((bodyHeight < 하단) ? true : false) && 하단 > (btnHeight btnPadding)
numberOfItems = 0;
col = {index : col.index ,x : col.x btnWidth btnPadding};
row = {index : 1,y : btnPadding}
Ext.fly (items[i]).setXY([col.x, row.y]);
row.index ;
row.y = row.y btnHeight btnPadding; }


그런 다음 현재 js 파일의 createDataView 메서드에 리스너를 추가합니다.



코드 복사
코드는 다음과 같습니다. createDataView: function() { var me = this;
return {
xtype: 'dataview',
overItemCls: 'x-view-over',
trackOver: true,
itemSelector: me.shortcutItemSelector,
store: me.shortcuts,
tpl: new Ext.XTemplate(me.shortcutTpl),
listeners:{
resize:me.initShortcut
}
}


게다가 afterRender 렌더링이 끝나면 함수가 호출됩니다.



코드 복사
코드는 다음과 같습니다. afterRender: function() { var me = this; me.callParent();
me.el.on('contextmenu', me.onDesktopMenu, me)
Ext.Function.defer(me.initShortcut,1);
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.