Fay*_*kon 3 javascript css tailwind-css
我在顺风CSS中的悬停上显示子菜单,
我如何通过执行 onclick 事件而不是悬停事件来实现完全相同的功能。
代码:
<div class="group">
<span class="font-bold text-gray-700"> Admission</span>
<div class=" hidden group-hover:block bg-white w-auto">
<div class="p-3 hover:bg-gray-200 ">
Admission Process
</div>
<div class="p-3 hover:bg-gray-200"">
option 1
</div>
<div class="p-3 hover:bg-gray-200"">
option 2
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用 tailwind css 或 js ?
您可以使用 JavaScript 查询下拉列表,然后向click事件添加侦听器。
const dropdownButton = document.querySelector("#dropdown");
const dropdownList = document.querySelector("#dropdown + div.hidden");
dropdownButton.addEventListener("click", () => {
dropdownList.classList.toggle("hidden");
});Run Code Online (Sandbox Code Playgroud)
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"/>
<div class="group">
<span class="font-bold text-gray-700" id="dropdown">Admission</span>
<div class=" hidden group-hover:block bg-white w-auto">
<div class="p-3 hover:bg-gray-200 ">
Admission Process
</div>
<div class="p-3 hover:bg-gray-200">
option 1
</div>
<div class="p-3 hover:bg-gray-200">
option 2
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
如果您想为多个下拉菜单使用一个代码,您可以将dropdownid 替换为 css 类,如下所示(我假设每个下拉菜单的结构都是相同的):
<div class="group dropdown">
<span class="font-bold text-gray-700">Admission</span>
<div class=" hidden group-hover:block bg-white w-auto">
<div class="p-3 hover:bg-gray-200 ">
Admission Process
</div>
<div class="p-3 hover:bg-gray-200">
option 1
</div>
<div class="p-3 hover:bg-gray-200">
option 2
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
然后查询并循环每个下拉列表以添加事件侦听器:
const dropdowns = document.querySelectorAll(".dropdown");
dropdowns.forEach(dropdown => {
dropdown.querySelector('span').addEventListener("click", () => {
dropdown.querySelector('span + div').classList.toggle('hidden');
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22917 次 |
| 最近记录: |