2017-04-19 23 views
2

私はそれを短くしています。 何らかの理由で、私のアニメーションは、幅/不透明スタイル属性で正常に動作するようですまだそれはheight属性では動作しません....角度2/4 divのアニメーションの高さ

アニメーション -

への「高さ」を変更
trigger('Grow', [ 
transition(':enter', [ // :enter is alias to 'void => *' 
    style({height:'0'}), 
    animate(500, style({height:'*'})) 
]), 
transition(':leave', [ // :leave is alias to '* => void' 
    animate(500, style({height:0})) 
]) 
]) 

幅/不透明度とアニメーションは素晴らしい作品... 誰もが問題を知っていますか?どこでも相対的な回答は見つかりませんでした。読書のための https://www.udemy.com/meteor-react/

感謝 -

私が達成しようとしているものの例は、セクションのdivの高さは、すべてのビデオの表示を拡大する上でクリックすると、udemyでアニメーションのようなものです。

更新 - まだ動作しません...

私は上のアニメーションてるものに多分その何か?何が起こるか

<div class="animate" *ngIf="show" [@animate]> 
    <div *ngFor="let video of section"><a>hi</a></div> 
</div> 

は(ngifで)私がクリックすると、div.animateが表示されていると「こんにちは」と言っラインがたくさんでいっぱい。 div.animateショーで、私が指定したアニメーションを作りたいと思っています。

助けてください! ^^

+0

アニメーションは動作しません。したがって、ngIfでは使用できません。 – Yeysides

+0

私はそれを見れば...もしあなたがあなたが添付の例でこのアニメーションをどのようにしているのかわかっていれば – Ben

+0

[@animate] = "myAnimationState"のようなことをしてください。あなたがそれを表示する必要があるときIdkが、私の例では、 'helpMenuOpen'変数を 'out'状態から 'in'状態のon(click)イベントにトグルします。 'myAnimationState'変数を ':enter'から ':leave'に変更するのに必要な効果を、その名前のとおりに制御する必要があります。たとえば、ルート変更が必要な場合があります。その経路変更を聞いてその変数を変更してください。 – Yeysides

答えて

5

これは私が私のために働くものです。私はトリガの変更状態を持っているため、少し違った構文で、トランジションメソッドを使ってアニメートします。

@Component({ 
    ... 
    animations: [ 
    trigger('slideInOut', [ 
     state('in', style({ 
     overflow: 'hidden', 
     height: '*', 
     width: '300px' 
     })), 
     state('out', style({ 
     opacity: '0', 
     overflow: 'hidden', 
     height: '0px', 
     width: '0px' 
     })), 
     transition('in => out', animate('400ms ease-in-out')), 
     transition('out => in', animate('400ms ease-in-out')) 
    ]) 
    ] 
}) 
export class AComponent implements OnInit { 

    helpMenuOpen: string; 

    constructor() { } 

    ngOnInit() { 
    this.helpMenuOpen = 'out'; 
    } 

    toggleHelpMenu(): void { 
    this.helpMenuOpen = this.helpMenuOpen === 'out' ? 'in' : 'out'; 
    } 

} 

次に、このような私の見解ではそれを使用する:あなたはディスプレイ小道具を切り替えるとき

<div [@slideInOut]="helpMenuOpen" class="d-inline-block"> 
    <h1>My Title</h1> 
    <p>My paragraph</p> 
</div> 
<button class="float-right" (click)="toggleHelpMenu()">help</button> 
+0

これを行うと、Udemyと同じアニメーションが得られますか? コードの残りの部分を編集して追加して、それを実装する方法や、状態を変更することができれば偉大になるでしょう!ありがとう – Ben

+0

@Ben更新された答えをチェックしますが、私はudemyにアクセスできない、これは高さと幅を変更するアニメーションの単なる例です – Yeysides

+0

はまだ動作しません] = – Ben

関連する問題