Angular 使用角度动画向左显示或隐藏div
我正在显示高度和宽度为600px的mat对话框 我在mat对话框中有一个按钮。当我点击按钮时,我想在不影响mat对话框的情况下,从mat对话框的左侧显示左滑动divAngular 使用角度动画向左显示或隐藏div,angular,dialog,angular-animations,Angular,Dialog,Angular Animations,我正在显示高度和宽度为600px的mat对话框 我在mat对话框中有一个按钮。当我点击按钮时,我想在不影响mat对话框的情况下,从mat对话框的左侧显示左滑动div 我怎样才能做到这一点?您可以通过两种方式做到这一点 使用角度动画 闪电战: Angular提供了一组方法来做一些很酷的事情。 在这个例子中,我写道: animations: [ trigger('widthGrow', [ state('closed', style({
我怎样才能做到这一点?您可以通过两种方式做到这一点 使用角度动画 闪电战: Angular提供了一组方法来做一些很酷的事情。 在这个例子中,我写道:
animations: [
trigger('widthGrow', [
state('closed', style({
width: 0,
})),
state('open', style({
width: 400
})),
transition('* => *', animate(150))
]),
]
触发器->我们要在html中注册和使用的触发器的名称
状态->我们将使用两种状态来更改div
style->我们希望根据逻辑更改的css属性
transition->一个简单的计时器,可以为div的增长设置动画
如果你打开stackblitz,你会看到它是如何工作的。我使用了另一个div来触发一个名为changeState的函数来更改属性来设置动画
仅使用css
闪电战:
使用transition
(源自css)和ngClass
可以实现同样的效果
因为这只是基本代码,所以我将css类放在这里:
.left-stuff {
height: 50px;
border: 1px solid black;
transition: all 0.2s ease-in-out;
background-color: red;
}
如果您需要更多帮助,请随意评论此答案。您可以通过两种方式完成此操作 使用角度动画 闪电战: Angular提供了一组方法来做一些很酷的事情。 在这个例子中,我写道:
animations: [
trigger('widthGrow', [
state('closed', style({
width: 0,
})),
state('open', style({
width: 400
})),
transition('* => *', animate(150))
]),
]
触发器->我们要在html中注册和使用的触发器的名称
状态->我们将使用两种状态来更改div
style->我们希望根据逻辑更改的css属性
transition->一个简单的计时器,可以为div的增长设置动画
如果你打开stackblitz,你会看到它是如何工作的。我使用了另一个div来触发一个名为changeState的函数来更改属性来设置动画
仅使用css
闪电战:
使用transition
(源自css)和ngClass
可以实现同样的效果
因为这只是基本代码,所以我将css类放在这里:
.left-stuff {
height: 50px;
border: 1px solid black;
transition: all 0.2s ease-in-out;
background-color: red;
}
如果您需要更多帮助,请随意评论此答案。您可以创建stackblitz吗?您想要stackblitz做什么?您可以创建stackblitz吗?您想要stackblitz做什么?我尝试了您的第一个stackblitz并更改了宽度。出于某种原因,它的行为很奇怪。尝试50宽度,甚至在动画中将150替换为50,并尝试使用以下设置:宽度=50;changeState():void{(this.width==50)?this.width=150:this.width=50;}并且工作正常。我错过什么了吗?我试过你的第一次stackblitz并改变了宽度。出于某种原因,它的行为很奇怪。尝试50宽度,甚至在动画中将150替换为50,并尝试使用以下设置:宽度=50;changeState():void{(this.width==50)?this.width=150:this.width=50;}并且工作正常。我错过什么了吗?