Настройка долбаного Superfish

Главные вкладки

Аватар пользователя t-m-p t-m-p 27 августа 2014 в 16:33

Ни как не пойму, зачем создавать скрипт, ориентированный на гибкость натсройки и интегрирования в дизайн, и устанавливать необходимые css атрибуты в встроенный html элемент?
Необходимо сделать вертикальное , выпадающее меню. Не горизонтально выплывающее подменю, а именно вертикально же и выезжающее, чтоб нижнии пункты меню опускались.

Ладно. Это насторил. но возникает проблема с закрытием неактивных пунктов. Потому что атрибут display:block присваивается ul элементу самим скриптом. То есть не классы и не id css, а скрипт прописывает сразу элементу тот или иной атрибут и его свойства.

Нашел в самом конце вроде бы где это формируется. Добавил hide() и .css('visibility','hidden'). Заработало как надо. Но радость была не долгой.
Ведь если активен пункт подменю, то в таком случае, при mouseOut менюшка закрывается. И все потому что опять таки прописывается чертовые атрибуты самому элементу ul.

Поубирал вообще hide() и остальные атрибуты вообще. Прописал все через подключаемый файл css. Но оказалось где то еще прописывается эта херня. ГДЕ???? Уже сутки бьюсь над этим скриптом, ни как не пойму где же вормируются эти все идиотские атрибуты! Зачем же так тупо создавать скрипты? Можно же было просто присваивать соотвествующие классы, а пользователь уже сам через подключамый css может делать все что уггодно!
Пока что нашел выход только с прописью removeAttr('style'). Да. Теперь работает как надо. Но ведь это же лишнее вычисление у клиента. Вначале присваивает атрибуты, потом удаляет.... то есть тоже не совсем правильно. Кто то сталкивался с такой проблемой? Кто как решил?

Комментарии

Аватар пользователя gun_dose gun_dose 27 августа 2014 в 17:21

"t-m-p" wrote:
Пока что нашел выход только с прописью removeAttr('style'). Да. Теперь работает как надо. Но ведь это же лишнее вычисление у клиента. Вначале присваивает атрибуты, потом удаляет....

А вы сами подумайте, что клиентской машине проще - удалить атрибут или заново вычислить его значение таким, чтобы оно не противоречило правилам цсс, изначально применённым к этому элементу?

А вообще, вы по ходу так заморочились с суперфишем, что изначально было бы проще написать с нуля нужный скрипт. И судя по всему, вам таки придётся это сделать.

Аватар пользователя olkum olkum 16 декабря 2015 в 13:55

Всем привет! Кто нибудь-подскажет, как убрать непонятный крякозябр в виде небольшого белого треугольника, что проявился в названии одного из пунктов (только того, что имеет выпадающие подпункты) главного меню после добавления второго меню на Superfish? Причем эта аномалия появляется исключительно на страницах, где выводится меню superfish. Вот такая страница http://hmu.bogdan.ua/?q=node/36. Белый треугольник на пункте главного верхнего меню "Сервис" хочу убрать. Версия jQuery 1.8. Пробовал и другие. В настройках блока меню superfish тоже все перерыл и не получилось отыскать причину бага.
Заранее благодарен за любые советы.

Аватар пользователя Studio VIZA Studio VIZA 16 декабря 2015 в 16:38

В настройке Суперфиша, если там на ангельском, щёлкните ПКМ в Хроме "перевести страницу" вы должны увидеть галочку, показывающую этот треугольник. Емнеп.

Аватар пользователя tlito tlito 16 декабря 2015 в 17:47

добавьте в вашу тему в файл styles.css код, скрывающий этот индикатор выпадающего меню:

a > .sf-sub-indicator, span.nolink > .sf-sub-indicator {display:none;}

и очистите кэш