ກວດຄວາມປະສົງ: ຂະແນນຄວາມສະຫລຸບ/ກະບຽນ
ບົດຮຽນວິທີທີ່ສ້າງຕົວເວັບການປະຕູບູລັງ (ຂໍ້ມູນທີ່ສາມາດຖອຍຫຼັງໄດ້).
ຕົວເວັບການປະຕູບູລັງ
ຖ້າທ່ານຕ້ອງການປ່ຽນຫຼັງການປິດແລະສະແດງຫຼັກສູນຂໍ້ມູນ, ຕົວເວັບການປະຕູບູລັງຈະມີປະສິດທິພາບ:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
ສ້າງຕົວເວັບການປະຕູບູລັງ
ຄັ້ງທີ 1 - ເພີ່ມ HTML:
<button class="accordion">ວົງກວ້າງ 1</button> <div class="panel"> <p>Lorem ipsum...</p> </div> <button class="accordion">ວົງກວ້າງ 2</button> <div class="panel"> <p>Lorem ipsum...</p> </div> <button class="accordion">ວົງກວ້າງ 3</button> <div class="panel"> <p>Lorem ipsum...</p> </div>
ຄັ້ງທີ 2 - ເພີ່ມ CSS:
ກຳນົດກຳນົດໃສ່ຕົວເວັບການປະຕູບູລັງ
/* ກຳນົດກຳນົດໃສ່ປະຕູກັບຕົວເວັບການປະຕູບູລັງເພື່ອເປີດແລະປິດ */ .accordion { background-color: #eee; color: #444; cursor: pointer; padding: 18px; width: 100%; text-align: left; border: none; outline: none; transition: 0.4s; } /* ຖ້າປະຕູຖືກກະຕຸ້ນ (ເພີ່ມ .active ຊະນິດດ້ວຍ JS) ແລະໃຫ້ມີສີທີ່ຫຼັງເພື່ອສະແດງປະຕູ, ແລະເມື່ອມືກໍ່ຢູ່ເທິງມັນ (ການຢູ່ຢູ່) */ .active, .accordion:hover { background-color: #ccc; } /* ສະແດງກຳນົດໃສ່ຕົວເວັບການປະຕູບູລັງ. ສັບສິນ: ການປິດແບບຄົງໄວ້ */ .panel { padding: 0 18px; background-color: white; display: none; overflow: hidden; }
ຄັ້ງທີ 3 - ເພີ່ມ JavaScript:
var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { /* ແກ້ໄຂການເພີ່ມຂຶ້ນແລະຖອນ "active" ຊະນິດເພື່ອກະຕຸ້ນປະຕູກັບຕົວເວັບການຄວບຄຸມ */ this.classList.toggle("active"); /* ແກ້ໄຂການປິດແລະສະແດງຕົວເວັບການເຄື່ອງກະຕຸ້ນ */ var panel = this.nextElementSibling; if (panel.style.display === "block") { panel.style.display = "none"; } else { panel.style.display = "block"; } }); }
动画手风琴(向下滑动)
要制作动画手风琴,请向面板类添加 max-height: 0
、overflow: hidden
以及 max-height
属性的过渡效果。
然后,使用 JavaScript 根据不同屏幕尺寸的面板高度来计算并设置 max-height
,以实现内容的向下滑动效果:
<style> .panel { padding: 0 18px; background-color: white; max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; } </style> <script> var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { this.classList.toggle("active"); var panel = this.nextElementSibling; if (panel.style.maxHeight) { panel.style.maxHeight = null; } else { panel.style.maxHeight = panel.scrollHeight + "px"; } }); } </script>
添加图标
在每个按钮上添加一个符号,以指示可折叠内容是否打开或关闭:
.accordion:after { content: '\02795'; /* “加号”(+)的 Unicode 字符 */ font-size: 13px; color: #777; float: right; margin-left: 5px; } .active:after { content: "\2796"; /* “减号”(-)的 Unicode 字符 */ }