ボタンをクリックしたときにメニューを開き、別のボタンをクリックすると簡単なスクリプトが閉じられます。どのようにアニメーション化できますか?私はプロパティの "移行"を試してみましたが、機能しません。ここでJavaScriptアニメーションのスライディングメニュー
はJSコードです:
var menu = document.getElementById("menu");
var opener = document.getElementById("opener");
var closer = document.getElementById("closer");
var title = document.getElementById("title");
function openMenu() {
menu.style.width = "320px";
menu.style.display = "block";
title.style.display = "none";
}
function closeMenu() {
menu.style.width = "0";
menu.style.display = "none";
title.style.display = "block";
}
opener.addEventListener("click", openMenu);
closer.addEventListener("click", closeMenu);
そしてHTML:CSSで
<div id="title" class="title col-xs-12">
<span id="opener" class="title__opener icon-menu"></span>
<h4><strong>...</strong></h4>
</div>
<section id="menu" class="menu-panel col-xs-12 col-sm-3">
<h1><a href="index.html">...</a></h1>
<span id="closer" class="menu-panel__closer icon-cancel"></span>
<nav class="menu-panel__nav">
<ul class="menu-panel__menu">
<li><button id="allItems">Wszystkie prace</button></li>
<li><button id="drawings">Rysunki</button></li>
<li><button id="projects">Projekty</button></li>
<li><ul class="menu-panel__contact">
<li><p class="menu-panel__header">Kontakt :</p></li>
<li><a href="tel:..."><span class="icon-phone"></span>...</a></li>
<li><a href="mailto:..."><span class="icon-mail-alt"></span>...</a></li>
</ul></li>
</ul>
</nav>
<footer class="menu-panel__footer">
<a href="">© 2017 </a>
</footer>
</section>
私が持っている:
.menu-panel {
overflow: hidden;
width: 0;
display: none;
transition: 0.3s all;}
JavaScriptのアニメーションを、私は私を得ることができないものです私はjQueryをまだ使用したくありません。私はどんな助けでも感謝しています。
「-320px」から「0px」への余白のアニメーション – GOB
私はキーフレームで2つのクラスを作成し、JSでそれらを追加または削除することを考えていましたが、もっと簡単な方法があると思いました「幅」だけをアニメーション化します。 – grhu
私の答えの例を見て、これがあなたを助けることを願って – GOB