Skrypt rekurencyjny umożliwiający dopasowanie rozmiaru elementów li a w liście(w moim przykładzie menu)
1 2 3 4 5 6 7 8 9 10 11 | $.fn.changeFont = function(useMargins,size) { var sum = 0; $(this).children("a").css("font-size",size+"px"); this.each(function() { sum += $(this).outerWidth(useMargins); }); //tu zamiast 950 podajemy żądaną szerokość if(sum>950) $(this).changeFont(true,size-1); return sum; }; |
Do wywołania funkcji potrzebujemy:
1 2 3 4 | $(window).load(function() { $('#menu_top ul li').changeFont(true,25); }); |
Bardzo ważne jest wywołanie funkcji w $(window).load(function(){})!
Gdzie #menu_top jest selektorem nadrzędnym w stosunku do ul.
25 odnosi się do maksymalnego rozmiaru czcionki który będzie pomniejszać.