Rumah > Artikel > hujung hadapan web > HTML, CSS dan jQuery: Buat menu akordion animasi
HTML, CSS dan jQuery: Buat menu boleh lipat dengan animasi
Dalam pembangunan web, menu boleh lipat ialah elemen interaktif biasa yang boleh menjimatkan ruang halaman dan meningkatkan pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk mencipta menu lipatan animasi dan menyediakan contoh kod khusus.
<div class="menu-item"> <h3 class="menu-title">菜单标题</h3> <div class="menu-content"> <!-- 菜单内容 --> </div> </div>
Dalam kod di atas, .menu-item
ialah bekas paling luar dan .menu-title
ialah tajuk menu , .menu-content
ialah kandungan menu, yang tersembunyi dalam keadaan awal. .menu-item
是最外层的容器,.menu-title
是菜单的标题,.menu-content
是菜单的内容,初始状态下是隐藏的。
.menu-item { margin-bottom: 10px; } .menu-title { cursor: pointer; } .menu-content { display: none; } .menu-content.show { display: block; animation: fadeIn 0.3s ease-in-out; } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }
上述代码中,我们为.menu-item
添加了一些底部间距,使菜单之间有一定的间隔。为.menu-title
设置了cursor: pointer
,来改变鼠标样式,以表示菜单可以点击展开或折叠。.menu-content
的初始状态是隐藏的,当添加.show
类名时,菜单内容会以淡入的动画效果显示出来。
$(document).ready(function() { $('.menu-title').click(function() { $(this).siblings('.menu-content').toggleClass('show'); }); });
上述代码中,我们使用$(document).ready()
来确保页面加载完成后再执行代码。当点击.menu-title
元素时,使用toggleClass()
方法来切换.show
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>折叠菜单</title> <style> .menu-item { margin-bottom: 10px; } .menu-title { cursor: pointer; } .menu-content { display: none; } .menu-content.show { display: block; animation: fadeIn 0.3s ease-in-out; } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } </style> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> $(document).ready(function() { $('.menu-title').click(function() { $(this).siblings('.menu-content').toggleClass('show'); }); }); </script> </head> <body> <div class="menu-item"> <h3 class="menu-title">菜单标题1</h3> <div class="menu-content"> <p>菜单内容1</p> </div> </div> <div class="menu-item"> <h3 class="menu-title">菜单标题2</h3> <div class="menu-content"> <p>菜单内容2</p> </div> </div> <div class="menu-item"> <h3 class="menu-title">菜单标题3</h3> <div class="menu-content"> <p>菜单内容3</p> </div> </div> </body> </html>
.menu-item
untuk memberikan selang waktu tertentu antara menu. kursor: penunjuk
ditetapkan untuk .menu-title
untuk menukar gaya tetikus untuk menunjukkan bahawa menu boleh diklik untuk mengembangkan atau runtuh. Keadaan awal .menu-content
disembunyikan Apabila nama kelas .show
ditambahkan, kandungan menu akan dipaparkan dengan kesan animasi fade-in. kesan animasi jQuery
Untuk merealisasikan fungsi pengembangan dan runtuh menu, kami boleh menggunakan jQuery untuk menambah kesan animasi. Berikut ialah contoh kod jQuery asas: rrreee🎜Dalam kod di atas, kami menggunakan$(document).ready()
untuk memastikan halaman dimuatkan sebelum melaksanakan kod. Apabila elemen .menu-title
diklik, gunakan kaedah toggleClass()
untuk menukar nama kelas .show
untuk mengembangkan dan meruntuhkan menu kandungan. . Jalankan kod di atas dan klik pada tajuk menu untuk melihat kandungan menu berkembang dan runtuh dengan kesan animasi pudar masuk. 🎜🎜Ringkasnya, dengan menggunakan HTML, CSS dan jQuery, kami boleh mencipta menu boleh lipat dengan kesan animasi dengan mudah. Saya harap kod sampel dalam artikel ini boleh membantu anda, pergi dan cuba! 🎜Atas ialah kandungan terperinci HTML, CSS dan jQuery: Buat menu akordion animasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!