/*
* jquery.equalmenu.js 等分菜单
* copyright by Ethan
* v1.0 2012-03-20 create
* usage: $('nav').equalmenu();
*/
(function($) {
$.fn.equalmenu = function(options) {
var defaults = {
wrap:'ul',
item:'li',
wrapReduce: 0, //总的菜单需要减去的padding,border和margin
itemReduce: 0, //每格菜单需要减去的padding,border和margin
remainTo: 1 // 剩下的宽度分配:0.给第一个 1. 从第一个开始顺序分配; 2. 给两头(todo)
};
var params = $.extend({}, defaults, options);
$(this).each(function(){
var $table = $(this),
$wrap = $(params.wrap, this),
$item = $(params.item, this),
num = $item.size(),
totalWidth = $wrap.width() - params.wrapReduce,
aWidth = parseInt(totalWidth / num ) - params.itemReduce, //平均宽度
remain = totalWidth % num; //剩下的
$item.width(aWidth);
if( remain === 0 ) return ; //没有剩下的话直接返回结束。
if( params.remainTo == 1 ){ // 从第一个开始顺序分配
for(var i=0; i<remain; i++){
$item.eq(i).width(aWidth+1);
}
}else if( params.remainTo == 0 ){ // 给第一个
$item.eq(0).width(aWidth+remain);
}
});
};
})(jQuery);