javascript - 如何在 React 中使用 Tailwindcss 转换 div

标签 javascript css reactjs tailwind-css

我的侧边栏旁边有一个菜单面板。我正在尝试添加抽屉式动画,但我似乎无法在粉红色列中打开/关闭位置

const album = ["Album1", "Album2", "Album3"];
export const Menu = () => {
  const [open, setOpen] = useState(false);
  return (
    <div className="flex flex-1 flex-col p-3">
      <h2 className="text-lg font-medium text-gray-900">Album</h2>
      <div className="flex-1">
        <div className="flex flex-1 flex-col space-y-3 py-3">
          {album.map((name) => (
            <button
              key={name}
              id={name}
              className={`flex space-x-2 items-center`}
              onClick={() => setOpen(true)}
            >
              <span>{name}</span>
            </button>
          ))}
        </div>
      </div>
      <aside
        onClick={() => setOpen(false)} //temporary
        className={`transform top-0 left-0 w-72 bg-blue-400 fixed h-full overflow-auto ease-in-out transition-all duration-1000 z-30 ${
          open ? "translate-x-14" : "-translate-x-full"
        }`}
      >
        hello
      </aside>
    </div>
  );
};

enter image description here

最佳答案

Javascript。只需将 eventListener 添加到将处理操作的“按钮”。在 eventListener 中,删除或添加一个 css 类。例如,默认情况下位置是“-100px right”,css 将位置设置为“300px right”,还添加一个过渡“all 300ms ease”。现在你的元素开始时没有 css,当用户按下按钮时添加类。

<div class="text-3xl font-bold underline transition-all duration-300" id="must-change">
 Lorem Ipsu
</div>

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold p-3 rounded" id="press-me">
  Button
</button>

<script>
const btn = document.querySelector("#press-me")
const mustChange =  document.querySelector("#must-change")
btn.addEventListener("click", () => {
  mustChange.classList.toggle("font-bold")
})
</script>

我设置了“全部过渡”,但您可以根据需要使用特定的过渡。

关于javascript - 如何在 React 中使用 Tailwindcss 转换 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74233428/

相关文章:

javascript - JSON中的 '@'是什么意思?

javascript - 对作为 props 传递的函数点击使用react,HOC 会被执行多次

javascript - 卡片翻转动画 Internet Explorer 11

javascript - 如何更改 Kendo Grid 工具栏 "Download to Excel"按钮的颜色?

Javascript 在本地运行良好,但在我的服务器上运行不佳

javascript - 从数组中获取元素位置

javascript - 在 Javascript 中设置部分宽度和高度

javascript - 如何从前端访问环境变量

javascript - 每当我使用 props.navigation.navigate ('Game' 时,在 HeaderBackButton.tsx 中 react native 导航问题)

javascript - Socket.io 没有从每个 react 组件中删除监听器