2016-03-02 2 views
2

В следующем примере Code Ply, я могу заставить стрелку в раскрывающемся списке исчезнуть при нажатии кнопки (отображаются выпадающие элементы) и появиться, когда кнопка снова щелкнул (выпадающие элементы скрыты), но когда я щелкнул в другом месте, выпадающие элементы скрыты, но стрелка не появляется, пока я не нажму кнопку снова, затем появится стрелка.Сделать стрелку вниз по стрелке вниз направление изменения щелчка в любом месте внутри экрана

Как я могу вызвать функцию javascript, отображается ли стрелка или исчезает на основе выпадающих элементов, отображается или скрыта?

Ваш ответ очень понравился.

спасибо.

+0

Итак, если я правильно понял, вы хотите, чтобы стрелка была направлена ​​вверх, когда вы открыли выпадающий список? – Simplicity

+0

Привет, я уже могу сделать стрелку вверх, когда отображается раскрывающееся меню, и стрелка вниз, когда раскрывающееся меню скрыто. (Я не уверен, почему он неправильно отображался на кодовом коде, он отображается только скрытым или показанным). То, что я не могу сделать прямо сейчас, - это просто изменение, когда я нажимаю кнопку сама, но не тогда, когда я нажимаю в любом месте экрана (где выпадающее меню скрыто, когда я это делаю) –

ответ

0

Вместо установки caret-up класса вручную, вы могли бы использовать .open класс начальной загрузки выпадающего списка (проверить его в инспекторе, нажмите на выпадающий список, и вы должны увидеть изменения) и укладывать стрелку в соответствии с этим

Может выглядеть несколько, как

.dropdown.open .caret 
{ 
    //dropdown is open 
} 

.dropdown:not(.open) .caret 
{ 
    //dropdown is not open 
} 

нет необходимости для собственного CSS в аль

0

Попробуйте добавить это ниже фрагмент кода. Обнаружить щелчок в любом месте за пределами раскрывающегося списка, и если span не содержит class caret, добавьте его.

$(document).click(function() { 
    if(!$(".dropdown").find('span').hasClass("caret")); 
     $('span', this).toggleClass("caret caret-up"); 
}); 
Смежные вопросы