МедияУики беседа:Common.js/Navbar.js
Облик
Версия на collapseTable с jQuery
[редактиране на кода]Хрумна ми, че било добре, ако може щракане където и да е по заглавната клетка да скрива/показва таблицата и реших да пробвам колко трудно би било да се реализира. Почнах, но някъде по средата ми писна да се съобразявам с текущия код и реших направо да пренапиша функцията с помощта на jQuery. С тая библиотека просто е кеф да си правиш експерименти. :-) Пускам тук готовия код, в случай че някой е любопитен какво се е получило:
addOnloadHook(function(){
var hcells = $("table.collapsible tr th");
var doAutocollapse = hcells.length >= autoCollapse;
hcells.each(function(i, hcell){
var indicator = $('<span class="indicator"/>').text(collapseCaption);
$(hcell).toggle(function(){
$(this).parent().nextAll().hide();
indicator.text(expandCaption);
}, function(){
$(this).parent().nextAll().show()
indicator.text(collapseCaption);
}).prepend(indicator);
var $parent = $(hcell).parents("table").eq(0);
if ( $parent.is(".collapsed")
|| (doAutocollapse && $parent.is(".autocollapse"))
) {
$(hcell).click();
}
});
});
Стиловете е добре да се изнесат където им е мястото:
.navbox-title .indicator { float: right; font-weight: normal; text-align: right; width: 6em }