83 lines
2.1 KiB
JavaScript
83 lines
2.1 KiB
JavaScript
/*
|
|
** 应用布局格子
|
|
** 这篇文章里有简单说明格子的作用
|
|
** http://www.cnblogs.com/hooray/archive/2012/03/23/2414410.html
|
|
*/
|
|
HROS.grid = (function(){
|
|
return {
|
|
getAppGrid : function(){
|
|
var width, height;
|
|
width = $('#desk-1').width() - HROS.CONFIG.appButtonLeft;
|
|
height = $('#desk-1').height() - HROS.CONFIG.appButtonTop;
|
|
var appGrid = [], _top = HROS.CONFIG.appButtonTop, _left = HROS.CONFIG.appButtonLeft;
|
|
for(var i = 0; i < 10000; i++){
|
|
appGrid.push({
|
|
startY : _top,
|
|
endY : _top + 100,
|
|
startX : _left,
|
|
endX : _left + 120
|
|
});
|
|
_top += 100;
|
|
if(_top + 70 > height){
|
|
_top = HROS.CONFIG.appButtonTop;
|
|
_left += 120;
|
|
}
|
|
}
|
|
return appGrid;
|
|
},
|
|
searchAppGrid : function(x, y){
|
|
var grid = HROS.grid.getAppGrid(), j = grid.length;
|
|
var flags = 0, appLength = $('#desk-1 li.appbtn:not(.add)').length - 1;
|
|
for(var i = 0; i < j; i++){
|
|
if(x >= grid[i].startX && x <= grid[i].endX){
|
|
flags += 1;
|
|
}
|
|
if(y >= grid[i].startY && y <= grid[i].endY){
|
|
flags += 1;
|
|
}
|
|
if(flags === 2){
|
|
return i > appLength ? appLength : i;
|
|
}else{
|
|
flags = 0;
|
|
}
|
|
}
|
|
return null;
|
|
},
|
|
getDockAppGrid : function(){
|
|
var height = $('#dock-bar .dock-applist').height();
|
|
var dockAppGrid = [], _left = 0, _top = 0;
|
|
for(var i = 0; i < 7; i++){
|
|
dockAppGrid.push({
|
|
startY : _top,
|
|
endY : _top + 62,
|
|
startX : _left,
|
|
endX : _left + 62
|
|
});
|
|
_top += 62;
|
|
if(_top + 62 > height){
|
|
_top = 0;
|
|
_left += 62;
|
|
}
|
|
}
|
|
return dockAppGrid;
|
|
},
|
|
searchDockAppGrid : function(x, y){
|
|
var grid = HROS.grid.getDockAppGrid(), j = grid.length, flags = 0,
|
|
appLength = $('#dock-bar .dock-applist li').length - 1;
|
|
for(var i = 0; i < j; i++){
|
|
if(x >= grid[i].startX && x <= grid[i].endX){
|
|
flags += 1;
|
|
}
|
|
if(y >= grid[i].startY && y <= grid[i].endY){
|
|
flags += 1;
|
|
}
|
|
if(flags === 2){
|
|
return i > appLength ? appLength : i;
|
|
}else{
|
|
flags = 0;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
})(); |