Чтобы решить эту проблему, вам нужно будет перебрать каждую панель и определить наибольшее значение ширины.Поскольку ширина свернута, вы также должны активировать каждую панель.Как-то так поможет:
Пример: https://jsfiddle.net/Twisty/knj73r9o/24/
JavaScript
$(function() {
function findMaxWidth($tab) {
var mw = 0;
var oInd = $tab.tabs("option", "active");
$tab.find(".ui-tabs-panel").each(function(ind, el) {
$tab.tabs("option", "activate", ind);
console.log("Activate Tab " + ind);
if ($(el).width() > mw) {
mw = $(this).width();
console.log("Tab " + ind + " Width: " + mw + "px");
}
});
$tab.tabs("option", "active", oInd);
return mw;
}
$("#tabs").tabs({
heightStyle: "auto",
}).css("float", "left");
var widthStyle = findMaxWidth($("#tabs"));
$("#tabs div").each(function() {
$(this).css("width", widthStyle + "px");
});
$("#tabs2").tabs({
heightStyle: "auto",
}).css("float", "left").width(485);
});
Когда у вас есть ширина, вы можете использовать .css()
чтобы установить ширину каждого.
Если вам нужно сделать это много или по многим предметам, рассмотрите возможность использования $.widget()
для установки собственной опции или функции widthStyle
.
Надеюсь, это поможет.