Memandangkan projek itu diperlukan untuk mereka bentuk fungsi menu pokok, saya mencari maklumat yang berkaitan di Baidu dan mendapati terdapat banyak maklumat tentang zTree, yang saya fikir cukup bagus Selain itu, zTree juga mempunyai dokumen API rasmi. yang diperkenalkan dengan sangat terperinci Selepas beberapa masalah, saya akhirnya dapat memahaminya, jadi saya menuliskannya, yang boleh dianggap sebagai ringkasan pembelajaran zTree.
Pengenalan kepada zTree:
1. zTree menggunakan kod teras JQuery untuk melaksanakan satu set pemalam Tree yang boleh melengkapkan fungsi yang paling biasa
2. zTree v3.0 membahagikan kod teras mengikut fungsi, dan kod yang tidak perlu tidak perlu dimuatkan
3. Menggunakan teknologi pemuatan malas, puluhan ribu nod boleh dimuatkan dengan mudah, malah di bawah IE6, ia pada asasnya boleh mencapai pembunuhan segera
4 Serasi dengan IE, FireFox, Chrome, Opera, Safari dan penyemak imbas lain
5. Sokong data JSON
6. Menyokong pemuatan statik dan Ajax tak segerak bagi data nod
7. Menyokong sebarang perubahan kulit/ikon tersuai (bergantung pada css)
8. Menyokong kotak pilihan yang sangat fleksibel atau fungsi pemilihan radio
9. Sediakan berbilang panggilan balik respons acara
10 Fungsi pengeditan fleksibel (tambah/padam/ubah suai/semak), anda boleh seret dan lepaskan nod sesuka hati, dan anda boleh seret dan lepas berbilang nod
11. Contoh Pokok Berbilang boleh dijana secara serentak dalam satu halaman
Pengenalan kepada fungsi teras dan sifat:
Teras:zTree(tetapan, [zTreeNodes])
Fungsi ini menerima tetapan objek data format JSON dan objek data format JSON zTreeNodes untuk mencipta Pokok.
Parameter teras: tetapan
Konfigurasi parameter zTree semuanya dilakukan di sini: gaya pokok, acara, laluan akses, dll. semuanya dikonfigurasikan di sini
var setting = { showLine: true, checkable: true };
Oleh kerana terdapat terlalu banyak parameter, sila lihat zTreeAPI
untuk parameter tertentu.Parameter teras:zTreeNodes
Seluruh pengumpulan data nod zTree menggunakan struktur data yang terdiri daripada objek JSON Secara ringkasnya: semua maklumat pepohon disimpan dalam format Json
1. Laman web rasmi zTree: http://www.ztree.me/v3/main.php#_zTreeInfo
Anda boleh memuat turun kod sumber, contoh dan API zTree di tapak web rasmi API pengarang dalam pdf sangat terperinci
Mengenai kaedah pemerolehan data nod zTree dibahagikan kepada statik (definisi langsung) dan dinamik (pemuatan pangkalan data bahagian belakang)
Langkah konfigurasi terperinci:
Langkah pertama - Perkenalkan fail yang berkaitan
<link rel="stylesheet" href="ztree/css/zTreeStyle/zTreeStyle.css" type="text/css"> <script type="text/javascript" src="js/jQuery/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="ztree/js/jquery.ztree.core-3.5.min.js"></script> <script type="text/javascript" src="ztree/js/jquery.ztree.excheck-3.5.min.js"></script>
Catatan:
1) Yang pertama (zTreeStyle.css) ialah fail css gaya zTree Hanya dengan memperkenalkan ini gaya struktur pokok boleh dipersembahkan,
2), yang kedua (jquery-1.9.1.min.js) ialah fail jQuery, kerana ia perlu digunakan,
3), yang ketiga (jquery.ztree.core-3.5.min.js) ialah fail js teras zTree, ini perlu,
4), yang terakhir (js/jquery.ztree.excheck-3.5.min.js) ialah fail pengembangan, terutamanya digunakan untuk fungsi butang radio dan kotak semak Kerana kotak semak digunakan, ia juga digunakan Ia perlu dibawa masuk.
Langkah 2 —— Konfigurasi berkaitan (untuk konfigurasi terperinci khusus, sila rujuk tapak web rasmi untuk dokumentasi API terperinci)
var zTree; var setting = { view: { dblClickExpand: false,//双击节点时,是否自动展开父节点的标识 showLine: true,//是否显示节点之间的连线 fontCss:{'color':'black','font-weight':'bold'},//字体样式函数 selectedMulti: false //设置是否允许同时选中多个节点 }, check:{ //chkboxType: { "Y": "ps", "N": "ps" }, chkStyle: "checkbox",//复选框类型 enable: true //每个节点上是否显示 CheckBox }, data: { simpleData: {//简单数据模式 enable:true, idKey: "id", pIdKey: "pId", rootPId: "" } }, callback: { beforeClick: function(treeId, treeNode) { zTree = $.fn.zTree.getZTreeObj("user_tree"); if (treeNode.isParent) { zTree.expandNode(treeNode);//如果是父节点,则展开该节点 }else{ zTree.checkNode(treeNode, !treeNode.checked, true, true);//单击勾选,再次单击取消勾选 } } } };
Langkah ketiga - Muatkan data nod dan tunjukkan struktur pokok
1) Pada halaman html, letakkan ul terus, dan data akhirnya akan dimuatkan secara automatik ke dalam elemen ul
<body> <div class="zTreeDemoBackground left"> <ul id="user_tree" class="ztree" style="border: 1px solid #617775;overflow-y: scroll;height: 500px;"></ul> </div> </body>
2), memuatkan data dalam js
1. Kaedah statik (takrif langsung)
var zNodes =[ { id:1, pId:0, name:"test 1", open:false}, { id:11, pId:1, name:"test 1-1", open:true}, { id:111, pId:11, name:"test 1-1-1"}, { id:112, pId:11, name:"test 1-1-2"}, { id:12, pId:1, name:"test 1-2", open:true}, ]; $(document).ready(function(){ $.fn.zTree.init($("#user_tree"), setting, zNodes); }); function onCheck(e,treeId,treeNode){ var treeObj=$.fn.zTree.getZTreeObj("user_tree"), nodes=treeObj.getCheckedNodes(true), v=""; for(var i=0;i<nodes.length;i++){ v+=nodes[i].name + ","; alert(nodes[i].id); //获取选中节点的值 } }
2. Kaedah dinamik (memuat daripada pangkalan data latar belakang)
/** * 页面初始化 */ $(document).ready(function(){ onLoadZTree(); }); /** * 加载树形结构数据 */ function onLoadZTree(){ var treeNodes; $.ajax({ async:false,//是否异步 cache:false,//是否使用缓存 type:'POST',//请求方式:post dataType:'json',//数据传输格式:json url:$('#ctx').val()+"SendNoticeMsgServlet?action=loadUserTree",//请求的action路径 error:function(){ //请求失败处理函数 alert('亲,请求失败!'); }, success:function(data){ // console.log(data); //请求成功后处理函数 treeNodes = data;//把后台封装好的简单Json格式赋给treeNodes } }); var t = $("#user_tree"); t = $.fn.zTree.init(t, setting, treeNodes); }
kod data memuatkan latar belakang java:
1. Tentukan kelas VO pokok Anda tidak perlu mentakrifkan ini, kerana saya perlu menggunakan operasi lain, yang lebih mudah
/** * zTree树形结构对象VO类 * * @author Administrator * */ public class TreeVO { private String id;//节点id private String pId;//父节点pId I必须大写 private String name;//节点名称 private String open = "false";//是否展开树节点,默认不展开 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getpId() { return pId; } public void setpId(String pId) { this.pId = pId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getOpen() { return open; } public void setOpen(String open) { this.open = open; } }
2. Tanya pangkalan data, dan medan struktur sql juga mestilah dalam format id, pId, nama, terbuka (pilihan) (nota: I di tengah-tengah pId mesti menggunakan huruf besar), dan kemudian merangkum keputusan ke dalam kelas TreeVO.
/** * 加载树形结构数据 * @param request * @param response * @throws IOException */ public void loadUserTree(HttpServletRequest request, HttpServletResponse response) throws IOException{ WeiXinUserService weixinUserService = new WeiXinUserServiceImpl(); List<TreeVO> user_tree_list = weixinUserService.getUserTreeList(); String treeNodesJson = JSONArray.fromObject(user_tree_list).toString();//将list列表转换成json格式 返回 PrintWriter out = response.getWriter(); //利用Json插件将Array转换成Json格式 out.print(treeNodesJson); //释放资源 out.close(); }
Seluruh operasi selesai di sini, tulisannya tidak bagus, dan bahasa organisasi sememangnya tidak begitu baik. Belajar bersama dan berkembang bersama!

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),