日期:2014-05-16  浏览次数:20390 次

大侠解释一下这一大段js代码的基本思路
 ;var julying = {};
julying.gridMenu = {
init : function(obj){
/*防止刷新错位*/
setTimeout(function(){
$('html,body').animate({scrollTop:0},1);
},200);

/*构造动画函数*/
$.extend( jQuery.easing ,{
easeInOutCubic: function (x, t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t*t + b;
return c/2*((t-=2)*t*t + 2) + b;
},
easeOutBounce: function (x, t, b, c, d) {
if ((t/=d) < (1/2.75)) {
return c*(7.5625*t*t) + b;
} else if (t < (2/2.75)) {
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
} else if (t < (2.5/2.75)) {
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
} else {
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
}
}
});

var $obj = $(obj);
var viewSize = getViewSize();
this.creatCell($obj);
this.setItem($obj);

},
getCellInfo: function(obj){
var $obj = obj ;
var viewSize = getViewSize();//获取长和宽
var $cell = $obj.find('div.cells li:first');
 
var width = $cell.outerWidth() ;
var height = $cell.outerHeight() ;
var viewArea = viewSize[0] * viewSize[1] ;
var cellArea = width * height ;
var num = viewArea / cellArea;
/*x轴上 box 的数量 ,下取整 */
var xCell = Math.floor(viewSize[0] / width) ;
/*y轴上 box 的数量 ,下取整 */
var yCell = Math.floor(viewSize[1] / height) ;
num = Math.ceil(num) +  xCell * 2  ;

return { width :width , height : height , num : num , viewWidth : viewSize[0] , viewHeight : viewSize[1] , xCell : xCell , yCell : yCell } ;
},
/*建立背景方格子*/
creatCell : function($obj){
var viewSize = getViewSize();
$obj.css({width:viewSize[0] , height:viewSize[1]});
var html = '';
var cellInfo = this.getCellInfo($obj);
var num = cellInfo.num ;
for( var i = 0 ; i <= num ; i++){