是否可以在没有任何 CSS3 或 JavaScript的情况下使用ngAnimate ?假设您只需要切换不透明度,您可以在标记中进行吗?
<div ng-show='foo == 'yes'' ng-animate="show: 'opacity:1', hide: 'opacity:0'" >
</div>
是否可以在没有任何 CSS3 或 JavaScript的情况下使用ngAnimate ?假设您只需要切换不透明度,您可以在标记中进行吗?
<div ng-show='foo == 'yes'' ng-animate="show: 'opacity:1', hide: 'opacity:0'" >
</div>
浏览器中的动画要么需要通过 (1) 让浏览器的渲染引擎通过 CSS 处理它,要么 (2) 自己使用 JavaScript 控制它。所以,在某个地方,这两件事中的一件需要发生。
也就是说,您可以构建自己的指令,即时构建正确的 CSS 和/或 JavaScript 并将其附加/应用到给定元素,但我相信ngAnimate
按照提供的方式使用可能更容易。
第一次进入的例子ngAnimate
:
HTML:
<div ng-show="foo == 'yes'" ng-animate="{show: 'fade'}"></div>
CSS:
.enter-fade {
-webkit-transition: 1s linear opacity;
-moz-transition: 1s linear opacity;
-o-transition: 1s linear opacity;
transition: 1s linear opacity;
opacity: 0;
}
.enter-fade.enter-fade-active {
opacity: 1;
}
或者,如果您支持不支持 CSS3 过渡的浏览器,则可以使用 JavaScript 进行过渡:
myModule.animation('fade', function() {
return {
setup : function(element) {
element.css({'opacity': 0});
},
start : function(element, done, memo) {
element.animate({'opacity': 1}, function() {
done();
});
}
};
});
您可以在这些很棒的 Yearofmoo 文章中找到更多信息: