0
私は流星のプラットフォームを使用しています。今私はメニューアイコンをアニメーションしようとしますが、何も変わりません。メニューを変更する流星のアイコン
HTML:
<template name="header">
<div class="container">
<div class="btn-menu">
<span class="bar1"></span>
<span class="bar2"></span>
<span class="bar3"></span>
<span>menu</span>
</div>
</div>
</template>
CSS:
.btn-menu {
float: right;
width: 31px;
height:32px;
position: relative;
transform : rotate(0deg);
transition-duration: 0.5s;
transition-timimg-function: ease-in-out;
cursor: pointer;
margin: 6px 7px 0 40px;
}
.btn-menu span {
display: block;
position: absolute;
height: 4px;
width: 100%;
background-color: rgb(88, 89, 91);
left: 0;
transform : rotate(0deg);
transition-duration: 0.25s;
transition-timimg-function: ease-in-out;
}
.btn-menu span:nth-child(1){
top: 0;
tansform-origin: left center;
}
.btn-menu span:nth-child(2){
top: 9px;
tansform-origin: left center;
}
.btn-menu span:nth-child(3){
top: 18px;
tansform-origin: left center;
}
.btn-menu span:nth-child(4){
top: 26px;
text-transform: uppercase;
background-color: rgb(255, 255, 255);
font-weight: bold;
font-size: 11px;
tansform-origin: left center;
}
.change .bar1{
transform: rotate(-45deg) translate(-9px, 6px);
}
.change .bar2{
opacity:0;
}
.change .bar3{
transform: rotate(45deg) translate(-8px, -px) ;
}
それがクリックされたとき、それはそれぞれのスタイルが変更される、それに新しいクラス名を追加するJavaScriptコードを実行します水平バー:最初と最後のバーが変換され、文字「x」に回転されます。中央のバーが消えて見えなくなります。
はJavaScript:
Template.header.event({
'click .btn-menu'(event) {
const x = event.target;
x.classList.toggle("change");
},
});
誰も私が間違って何見つけることができますか?
これはtemplattesが動作する方法ではありません。これは、再レンダリングを100%トリガしません。 '.btn-manu'をクリックすると反応変数が更新され、テンプレートヘルパーによって返されます。リアクティブ変数の変更は、テンプレートの再レンダリングを間違いなく引き起こします。https://blog.meteor.com/the-meteor-chef-reactive-dict-reactive-vars-and-session-variables-971584515a27 – Jankapunkt