Я пытаюсь сделать что-то, что кажется довольно простым, но оно не работает правильно. Возможно, я делаю это слишком просто.JQuery using toggleClass и fadeTo
Я просто напишу соответствующий код ниже.
Я использую bootstrap для создания кнопки в своем HTML. Класс просто делает кнопку белой:
<button id="my_button" class="btn-default">Button</button>
Далее я создал класс в своем CSS. Он просто делает элемент прозрачным:
.select {opacity: 0.1;}
Наконец, в JQuery я использую функции toggleClass и fadeTo анимировать кнопку, когда она нажата:
${'#my_button'}.toggleClass('btn-warning select').fadeTo('slow', 1);
Класс БТН-предупреждение меняет цвет на желтый.
Вот что я ожидаю, чтобы это произошло:
- На странице загрузки ее просто обычную белую кнопку
- я нажимаю кнопку, и он меняется на желтый и непрозрачностью изменения до 10%, то затухает до 100%
- я нажимаю кнопку еще раз, и он просто меняется обратно на обычную белую кнопку
- я нажимаю снова и повторяет шаг 2
- так на и т. д.
Похоже, достаточно просто. Шаг 1 работает, как и ожидалось, Шаг 2 - это совершенство, Шаг 3 отлично, Шаг 4 ... нет кубиков
Он только делает fadeTo при первом щелчке, после чего он меняется на желтый, как и должно быть, но нет fadeTo эффект.
По логике, у меня есть простая кнопка по умолчанию. Я нажимаю на него, а JQuery добавляет предупреждение btn и выбирает классы на кнопке, которая превращает его в желтый цвет, и устанавливает непрозрачность до 10%, а затем уменьшает непрозрачность до 100%. Я снова нажимаю на него, и JQuery удаляет класс btn-warning и выбирает класс, который возвращает кнопку в исходную форму, fadeTo не действует, потому что непрозрачность без выбранного класса уже 100%.
Это все хорошо, но когда я нажимаю снова JQuery следует добавить два класса снова и
Какой у Вас вопрос? Что вы на самом деле пытаетесь сделать? –
Создайте фрагмент кода, который показывает, что вы пытаетесь сделать, и где вы собрались. Это нужно было понять из вашего вопроса –
jQuery использует встроенный стиль для анимации вашей анимации затухания. Возможно, встроенный стиль, который управляет непрозрачностью, все еще присутствует, когда вы пытаетесь выполнить шаг 4. Встроенный стиль переопределит '.select {opacity: 0.1;}'. Это всего лишь предположение, если бы вы могли предоставить скрипку, тогда мы могли бы помочь вам больше. – sniels