Я использую модуль ngAnimate, но он влияет на все мои ng-if
и ng-show
т.д., я хочу использовать ngAnimate для некоторых выбранных элементов. Для производительности и некоторых ошибок в элементах, которые отображаются и скрываются очень быстро.
Спасибо.
angularjs
ng-animate
Drtobal
источник
источник
display:block
на все ваши ретрансляторы:ng-hide-add-active, .ng-hide-remove { display: block!important; }
Ответы:
Просто добавьте это в свой CSS. Лучше всего, если это будет последнее правило:
затем добавьте
no-animate
к классу элемента, который вы хотите отключить. Пример:источник
.no-animate, .no-animate-children *
правило, касающееся детей и т. Д.Если вы хотите включить анимацию для определенных элементов (в отличие от их отключения для определенных элементов), вы можете использовать $ animateProvider для настройки элементов с определенным именем класса (или регулярным выражением) для анимации.
Приведенный ниже код включит анимацию для элементов, имеющих
angular-animate
класс:Вот пример разметки, которая включает
angular-animate
класс для включения анимации:Пример Plunker, заимствованный и измененный из этого блога, где только первый фильтр имеет анимацию (из-за наличия
angular-animate
класса).Обратите внимание, что я использую
angular-animate
в качестве примера, и он полностью настраивается с помощью.classNameFilter
функции.источник
/^(?:(?!ng-animate-disabled).)*$/
регулярное выражение, чтобы отключить аннимацию с помощьюng-animate-disabled
класса.Есть два способа отключить анимацию в AngularJS, если у вас есть модуль ngAnimate в зависимости от вашего модуля:
Отключить или включить анимацию глобально в сервисе $ animate:
Отключите анимацию для определенного элемента - это должен быть элемент, для которого angular добавит классы css animationstate (например, ng-enter, ...)!
Начиная с версии Angular 1.4, вы должны изменить аргументы:
Документация для
$animate
.источник
Чтобы отключить ng-animate для определенных элементов, используя класс CSS, который следует парадигме Angular animate, вы можете настроить ng-animate для тестирования класса с помощью регулярного выражения.
Конфиг
использование
Просто добавьте
ng-animate-disabled
класс к любым элементам, которые вы хотите игнорировать с помощью ng-animate.Кредит http://davidchin.me/blog/disable-nganimate-for-selected-elements/
источник
спасибо, я написал директиву, которую вы можете разместить на элементе
CoffeeScript:
JavaScript:
источник
$animate.enabled(element,false);
Я обнаружил, что это
$animate.enabled(false, $element);
будет работать для элементов, которые используютng-show
или,ng-hide
но не будет работать для элементов, которыеng-if
по какой-то причине используются! Решение, которое я в итоге использовал, заключалось в том, чтобы просто сделать все на CSS, о чем я узнал из этой темы на GitHub .CSS
SCSS
источник
Я НЕ хочу использовать ngAnimate на себе
ng-if
, так что это было бы моим решением:Просто разместите это как еще одно предложение!
источник
У меня есть список, из которого первый
li
скрыт с помощьюng-hide="$first"
. Использованиеng-enter
результатов в том,li
что отображается полсекунды перед исчезновением.Основываясь на решении Криса Барра, мой код теперь выглядит так:
HTML
CSS
источник
Я знаю, что это отложенный ответ, но здесь мы используем в MainController:
Но проблема в том, что когда мы отключаем все анимации, ui-select настраивается на
opacity: 0
.Итак, необходимо установить непрозрачность на 1 с помощью CSS:
Это правильно установит непрозрачность, и пользовательский интерфейс будет работать.
источник