101 lines
2.9 KiB
JavaScript
101 lines
2.9 KiB
JavaScript
/*
|
|
** 桌面
|
|
*/
|
|
HROS.deskTop = (function(){
|
|
return {
|
|
init : function(){
|
|
//绑定浏览器resize事件
|
|
$(window).on('resize', function(){
|
|
HROS.deskTop.resize();
|
|
});
|
|
$('body').on('click', '#desktop', function(){
|
|
HROS.popupMenu.hide();
|
|
}).on('contextmenu', '#desktop', function(e){
|
|
HROS.popupMenu.hide();
|
|
return false;
|
|
});
|
|
},
|
|
/*
|
|
** 处理浏览器改变大小后的事件
|
|
*/
|
|
resize : function(){
|
|
HROS.dock.setPos();
|
|
//更新应用定位
|
|
HROS.deskTop.appresize();
|
|
//更新窗口定位
|
|
HROS.deskTop.windowresize();
|
|
HROS.wallpaper.set(false);
|
|
},
|
|
/*
|
|
** 重新排列应用
|
|
*/
|
|
appresize : function(){
|
|
switch(HROS.CONFIG.appSize){
|
|
case 's':
|
|
$('#desk').removeClass('smallIcon').addClass('smallIcon');
|
|
break;
|
|
case 'm':
|
|
$('#desk').removeClass('smallIcon');
|
|
break;
|
|
}
|
|
var grid = HROS.grid.getAppGrid(), dockGrid = HROS.grid.getDockAppGrid();
|
|
$('#dock-bar .dock-applist li').each(function(i){
|
|
$(this).css({
|
|
'left' : dockGrid[i]['startX'],
|
|
'top' : dockGrid[i]['startY']
|
|
});
|
|
$(this).attr('left', $(this).offset().left).attr('top', $(this).offset().top);
|
|
});
|
|
$('#desk-1 li').each(function(i){
|
|
var left = grid[i]['startX'] + 16, top = grid[i]['startY'] + 7;
|
|
$(this).stop(true, false).animate({
|
|
'left' : left,
|
|
'top' : top
|
|
}, 500);
|
|
switch(HROS.CONFIG.dockPos){
|
|
case 'top':
|
|
$(this).attr('left', left).attr('top', top + 73);
|
|
break;
|
|
case 'left':
|
|
$(this).attr('left', left + 73).attr('top', top);
|
|
break;
|
|
case 'right':
|
|
$(this).attr('left', left).attr('top', top);
|
|
break;
|
|
}
|
|
});
|
|
//更新滚动条
|
|
HROS.app.getScrollbar();
|
|
},
|
|
/*
|
|
** 重新定位窗口位置
|
|
*/
|
|
windowresize : function(){
|
|
$('#desk div.window-container').each(function(){
|
|
var windowdata = $(this).data('info');
|
|
currentW = $(window).width() - $(this).width();
|
|
currentH = $(window).height() - $(this).height();
|
|
var _l = windowdata['left'] / windowdata['emptyW'] * currentW >= currentW ? currentW : windowdata['left'] / windowdata['emptyW'] * currentW;
|
|
_l = _l <= 0 ? 0 : _l;
|
|
var _t = windowdata['top'] / windowdata['emptyH'] * currentH >= currentH ? currentH : windowdata['top'] / windowdata['emptyH'] * currentH;
|
|
_t = _t <= 0 ? 0 : _t;
|
|
if($(this).attr('state') != 'hide'){
|
|
$(this).animate({
|
|
'left' : _l,
|
|
'top' : _t
|
|
}, 500, function(){
|
|
windowdata['left'] = _l;
|
|
windowdata['top'] = _t;
|
|
windowdata['emptyW'] = $(window).width() - $(this).width();
|
|
windowdata['emptyH'] = $(window).height() - $(this).height();
|
|
});
|
|
}else{
|
|
windowdata['left'] = _l;
|
|
windowdata['top'] = _t;
|
|
windowdata['emptyW'] = $(window).width() - $(this).width();
|
|
windowdata['emptyH'] = $(window).height() - $(this).height();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
})(); |