Нестандартный select (dropdown) плагин jQuery?

Здравствуйте. Столкнулся с проблемой поиска плагина, не могли бы помочь?

Ищу плагин для селекта. Работать он должен как на картинке, выбранный результат остается всегда по середине, а остальные варианты равномерно распределены вверх и вниз. Искал по разным запросам, но везде натыкаюсь на варианты где выпадает список вниз или вверх, а не на обе стороны.

Заранее спасибо, Константин.

medium.gif
  • Вопрос задан
  • 3862 просмотра
Решения вопроса 1
jsfiddle.net/helgastogova/u5C5v
пишу все очень примерно, чтобы изложить идею, писать надо будет больше, стили только нужные для того чтобы показать идею

теги
<div class="select__list">
                    <span>1</span>
                    <ul>
                        <li class="active">1</li>
                        <li>2</li>
                        <li>3</li>
                    </ul>
                </div>


стили
.select__list{
   position: relative;
   ul{
     top: 0px;
     position: absolute;
     display: none;
   }
 }

скрипт
//при клике на элемент показываем список — селектлист
    $('.select__list').click(function(){
        $(this).find('ul').show();
        });
    //при клике на пункт селектлиста — передаем его значение в span (его вам надо будетт передать в input hidden еще, или как у вас там работает форма
    $('.select__list li').click(function(){
     
        $(this).parent().parent().find('span').html($(this).html());
        //запоминаем порядок элемента, на который мы кликнули (если первый то сдвиг 0, второй сдвиг а высоту li. третий на 2 высоты и т.д.. таким образом он должен быть всегда сдвинут к активной строке)
        var top_count = $(this).index();
        var li_height = $('.select__list li').height();//ну они конечно в этом случае одинаковыми должны быть
        $('.select__list ul').css('top',-(top_count*li_height)+'px');
        //так же можно добавить активный класс, чтобы приписать на него стрелочки
        $('.select__list li').removeClass('active');
        $(this).addClass('active');
        //скрываем ul
        $(this).find('ul').hide();
        });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
HaJIuBauKa
@HaJIuBauKa
Что-то мне подсказывает что и не найдете - самому писать придется и сортировать список как надо.
Либо возьмите с того сайта что на скрине - если это не дизайн :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы