如何创建:树视图
学习如何使用 CSS 和 JavaScript 创建树视图。
ຮູບແບບສາຍ
树视图表示信息的层次结构视图,其中每个项目可以有多个子项目。
单击箭头可打开或关闭树分支。
- ກາເຈີຕະຫຼາດ
- ນ້ຳ
- ກາເຈີສັດ
- ກາເຈີ
- ກາເຈີສີດ�
- ກາເຈີສີຂຽວ
- ກາເຈີ
- Sencha
- Gyokuro
- Matcha
- Pi Lo Chun
ຮູບແບບສາຍ
ບາງການທີ 1 - ສະໜອງ HTML:
<ul id="myUL"> <li><span class="caret">ກາເຈີຕະຫຼາດ</span> <ul class="nested"> <li>ນ້ຳ</li> <li>ກາເຈີສັດ</li> <li><span class="caret">ກາເຈີ</span> <ul class="nested"> <li>ກາເຈີສີດຳ</li> <li>ກາເຈີສີຂຽວ</li> <li><span class="caret">ກາເຈີ</span> <ul class="nested"> <li>Sencha</li> <li>Gyokuro</li> <li>Matcha</li> <li>Pi Lo Chun</li> </ul> </li> </ul> </li> </ul> </li> </ul>
ບາງການທີ2 - ສະເໜີ CSS:
/* ຖອນລາຍການປະກອບອອກ */ ul, #myUL { list-style-type: none; } /* ຖອນຂອບເຂດຫຼັງຄັ້ງຂອງ ul ພາຍໃນສັນຍານ */ #myUL { margin: 0; padding: 0; } /* ກໍານົດຮູບແບບ caret/ອອກ */ .caret { cursor: pointer; user-select: none; /* ປ້ອງກັນການເລືອກຄຳຂຽນ */ } /* ບໍ່ມີຫົວຂໍ້ ບໍ່ສະແດງ unicode caret/ອອກ ແລະ ການກໍານົດຮູບແບບ */ .caret::before { content: "\25B6"; color: black; display: inline-block; margin-right: 6px; } /* ບໍ່ມີຫົວຂໍ້ ບໍ່ສະແດງສຳນັກງານ caret/ອອກ (ນຳໃຊ້ JavaScript) */ .caret-down::before { transform: rotate(90deg); } /* ປິດລາຍການວາງ */ .nested { display: none; } /* ບໍ່ມີຫົວຂໍ້ ບໍ່ສະແດງລາຍການວາງ (ນຳໃຊ້ JavaScript) */ .active { display: block; }
ບາງການທີ3 - ສະເໜີ JavaScript:
var toggler = document.getElementsByClassName("caret"); var i; for (i = 0; i < toggler.length; i++) { toggler[i].addEventListener("click", function() { this.parentElement.querySelector(".nested").classList.toggle("active"); this.classList.toggle("caret-down"); }); }
ພາບເລືອກຕັ້ງວາງ
在这个例子中,我们使用一个“投票箱” unicode 而不是 caret: