この男と闘うどんな助けでも大歓迎です!JS/CSS - モバイルメニューのアニメーションを切り替える
_Sテーマのモバイルメニューのイン/アウトの遷移をアニメーションしようとしています。
実際にJSFiddleを作成することはできません。コンテンツは、vanilla JSを使用して動的に生成されるためです。これは、モバイルクラスを切り替えるためのコアJSのように見える
携帯メニューアイコンのクリック時に「.toggled」:
button.onclick = function() {
if (-1 !== container.className.indexOf('toggled')) {
container.className = container.className.replace(' toggled', '');
button.setAttribute('aria-expanded', 'false');
menu.setAttribute('aria-expanded', 'false');
} else {
container.className += ' toggled';
button.setAttribute('aria-expanded', 'true');
menu.setAttribute('aria-expanded', 'true');
}
};
私はこれまでアニメーション化するために管理してきた唯一の方法は、CSSのキーフレームであります.main-navigation.toggledクラスの2番目のクリックでクラスが削除され、単にこのスクリーンサイズで隠された.main-navigationに戻ります。
理想的には、.slideToggleや.fadeToggleのようなものを使ってJS/JQUERYを使ってアニメートしたいのですが、私はこの作業をするのに苦労しました。
_Sテーマを扱っている他のコーダーにとって、これは最新バージョンの.main-navigation.jsをカスタマイズしようとしているので便利です。
多くの方々、ありがとうございます!
アドバイスをいただきありがとうございます。残念ながら、これらの要素の両方にトランジションプロパティを適用しようとしましたが、運がまったくありませんでした。問題は、メニューを2度目に切り替えたときにクラス.toggledを削除するだけなので、.main-navigation ulへの遷移を適用すると 'モバイル'メニューには 'out'アニメーションがアニメーション化されません。上記のコードに.slideToggleや.fadeToggleを追加するためには、Jqueryが必要になると思われます。 – EasterMedia