jQueryFormStyler
jQueryFormStyler copied to clipboard
Ширина выпадающего списка
Вычисляя ширину выпадающего списка, еще можно учитывать если в списке прокрутка. Полоса прокрутки съедает (в моем случае) 20пкс и текст переносит на новую строку. Я это решил проверяя общую высоту всех элементов в списке и фактическую высоту списка. Если высота списка меньше высоты всех элементов, прибавлял к максимальной ширине 20пкс.
// определяем самый широкий пункт селекта var liWidthInner = 0, liWidth = 0, liAllHeight = 0; li.css({'display': 'inline-block'}); li.each(function() { var l = $(this); liAllHeight += l.outerHeight(); if (l.innerWidth() > liWidthInner) { liWidthInner = l.innerWidth(); liWidth = l.width(); } }); liWidthInner = ul.outerHeight() < liAllHeight ? liWidthInner + 20 : liWidthInner ;
В разных операционных системах ширина полосы прокрутки может быть разной, поэтому неправильно ставить ее строго 20 пикселей.
Да. Это ширина к примеру. Я не в курсе просто как можно вычислить ширину полосы прокрутки.