【发布时间】:2020-05-19 10:56:17
【问题描述】:
我想要一个菜单按钮(带有文本“菜单”),然后使用 rotateX 将其翻转,然后将其变成文本“关闭”。最初我试图用文本和动画来做,然后是文本和转换,当这不起作用时,我决定制作一个已经翻转的“关闭”文本的 .svg,所以我只需要做 180 度。
我的主要问题是,要么项目翻转并变换,并且在翻转时不变换,要么它只翻转一次,然后就不能再工作了。
const navSlide = () => {
const menu = document.querySelector("#menu");
const nav = document.querySelector(".nav-items");
menu.addEventListener("click", () => {
nav.classList.toggle("open");
if (menu.src === './icons/menu.svg') {
menu.src = './icons/close.svg';
menu.classList.toggle('menu-flip');
} else {
menu.classList.toggle("menu-flip");
menu.src = './icons/menu.svg';
}
})
};
navSlide();
#menu {
font-family: "Syne Regular", Georgia, "Times New Roman", Times, serif;
font-size: 54px;
text-decoration: none;
color: black;
position: absolute;
bottom: 0;
left: 0;
margin: 0;
line-height: 42px;
letter-spacing: -1px;
padding: 0;
border: 0;
background: none;
transform: rotateX(0deg);
transition: transform 0.2s ease-in;
&.menu-flip{
transform: rotateX(180deg);
transition: transform 0.2s ease-in;
letter-spacing: -4px;
}
}
<div class="menu">
<img id="menu" src="./icons/menu.svg" alt="menu" />
</div>
【问题讨论】:
标签: javascript css click