我正在尝试构建一个类似 jquery 插件的任务栏。我正在尝试在 div 中添加按钮。当我有几个按钮可以放在父 div 中时,可以将按钮大小设置为默认按钮大小。当要添加新按钮时,父 div 开始溢出,则应调整按钮大小以适应父级。当它们再次被移除时,按钮应该再次增加到默认大小。这是我的代码
_resizeChildren: function () {
var self = this; // this is the <div> holding the taskbar
var children = self.element.children();
var len = children.length;
var toolbarWidth = parseInt(self.element.width());
var totalMargin = parseInt(children.css('marginLeft')) + parseInt(children.css('marginRight'));
if (toolbarWidth / (len + totalMargin) >= $('#master').outerWidth()) //#master is a <div> holding the default size
{
self.element.css({'display': 'block'});
self.element.css({'tableLayout': ''});
children.css({'display': ''});
children.outerWidth(parseInt($('#master').outerWidth()));
}
else {
self.element.css({'display': 'table'});
self.element.css({'tableLayout': 'fixed'});
children.css({'display': 'table-cell'});
}
},
问题是,当我运行此代码时,当新按钮添加到父 div 的宽度时,它们的大小与默认大小一致。当它们开始溢出时,旧按钮不会调整大小,因此为新按钮留下的空间很小,这些新按钮被挤压在右侧非常薄的空间中。