国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah hujung hadapan web tutorial css Bagaimana untuk menarik rajah tulang ikan yang kompleks dan disesuaikan menggunakan JavaScript asli?

Bagaimana untuk menarik rajah tulang ikan yang kompleks dan disesuaikan menggunakan JavaScript asli?

Apr 05, 2025 pm 05:42 PM
susunan

Bagaimana untuk menarik rajah tulang ikan yang kompleks dan disesuaikan menggunakan JavaScript asli?

Penjelasan terperinci mengenai lukisan tulang ikan kompleks di JavaScript asli

Artikel ini menerangkan cara menggunakan kod JavaScript tulen untuk menarik rajah tulang ikan yang kompleks dan disesuaikan tanpa perlu menggunakan perpustakaan pihak ketiga seperti G6. Kami akan menyelam ke dalam pelaksanaan kod secara mendalam dan menunjukkan bahagian -bahagian kod yang perlu diperbaiki.

Artikel ini didasarkan pada contoh yang disediakan pengguna gambarajah tulang ikan yang kompleks (lihat angka di atas). Rajah ini mengandungi nod kanak-kanak pelbagai peringkat dan maklumat teks nod. Oleh itu, kaedah lukisan SVG asli dipilih untuk membuat elemen SVG secara langsung dalam HTML untuk membina gambarajah tulang ikan untuk fleksibiliti yang lebih tinggi.

Kod ini mula -mula mentakrifkan struktur data JSON arr menyimpan nod dan hubungan hubungan graf tulang ikan. Setiap nod mengandungi sifat seperti label (label), value (nilai), type , time (masa), dan child (nod kanak -kanak). Bahagian teras adalah kelas FishBone , yang bertanggungjawab untuk menguraikan data dan melukis menggunakan elemen SVG.

Kelas FishBone mengandungi kaedah utama berikut:

  • initKvArray() : Melalui data, mengira lebar nod untuk setiap bulan, dan menyimpannya di kvArray . Lebar diselaraskan secara adaptif mengikut panjang teks terpanjang dalam nod kanak -kanak.
  • getMaxWidth() : Recursif mengira lebar teks terpanjang dalam setiap nod dan nod anaknya, dan menentukan lebar nod.
  • randerMonthBox() : menarik nod bulan (parallelogram) dan teksnya. Koordinat X nod bulan dikira berdasarkan lebar nod sebelumnya.
  • creatBigCircle() : Lukis nod utama (bulatan) dan garis penyambung, dan renderParent() untuk menarik nod kanak -kanak.
  • renderParent() : Rekursif menarik nod kanak -kanak dan mengira ketinggian nod kanak -kanak.
  • randerLeaf() : Lukis nod daun terendah.
  • getMaxChildHeight() : Recursif mengira bilangan maksimum nod kanak -kanak setiap nod dan menentukan susunan nod kanak -kanak.
  • getLineWidth() : Kirakan lebar teks, tetapkan lebar minimum, dan pastikan garis cukup lama untuk menampung teks.
  • createTag() : fungsi penolong, buat elemen SVG.
  • createMonth() : Fungsi penolong, buat nod bulan.

Kod ini telah melaksanakan sebahagian besar fungsi, termasuk penyesuaian lebar nod bulan, penyesuaian panjang teks, dan lukisan graf asas. Tetapi masih ada bahagian berikut yang akan diperbaiki:

  • Subset Expansion/Shrink Fungsi: Membolehkan pengguna mengembangkan atau mengecilkan nod kanak -kanak untuk meningkatkan interaktiviti.
  • Konfigurasi Warna Line: Membolehkan pengguna menyesuaikan warna garis untuk meningkatkan kesan visual.
  • Keseluruhan Penguncupan/Expand Function: Membolehkan pengguna mengembangkan atau mengecilkan keseluruhan gambarajah tulang ikan pada satu masa.
  • Fungsi saiz penyesuaian gambar: Secara automatik menyesuaikan saiz gambarajah tulang ikan mengikut kandungan untuk menyesuaikan diri dengan saiz skrin yang berbeza.
  • Node Event Binding: Membolehkan pengguna berinteraksi dengan nod, seperti mengklik pada nod untuk memaparkan lebih banyak maklumat.

Fungsi -fungsi ini perlu ditambah dan diperbaiki mengikut keperluan sebenar. Kod ini telah menyimpan antara muka dan pembolehubah yang relevan untuk pengembangan mudah. Sebagai contoh, anda boleh menambah atribut acara dalam data arr dan mengikat pendengar acara untuk melaksanakan peristiwa nod semasa membuat elemen.

Kod ini menyediakan asas Diagram Fishbone Lengkap, yang pengguna boleh menyesuaikan dan mengembangkan mengikut keperluan mereka sendiri. Ciri -ciri SVG asli memastikan fleksibiliti dan kawalan.

Atas ialah kandungan terperinci Bagaimana untuk menarik rajah tulang ikan yang kompleks dan disesuaikan menggunakan JavaScript asli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Adakah saya perlu menggunakan Flexbox di tengah gambar bootstrap? Adakah saya perlu menggunakan Flexbox di tengah gambar bootstrap? Apr 07, 2025 am 09:06 AM

Terdapat banyak cara untuk memusatkan gambar bootstrap, dan anda tidak perlu menggunakan Flexbox. Jika anda hanya perlu berpusat secara mendatar, kelas pusat teks sudah cukup; Jika anda perlu memusatkan elemen secara menegak atau berganda, Flexbox atau Grid lebih sesuai. Flexbox kurang serasi dan boleh meningkatkan kerumitan, manakala grid lebih berkuasa dan mempunyai kos pengajian yang lebih tinggi. Apabila memilih kaedah, anda harus menimbang kebaikan dan keburukan dan memilih kaedah yang paling sesuai mengikut keperluan dan keutamaan anda.

Cara Melaraskan Senarai Artikel WordPress Cara Melaraskan Senarai Artikel WordPress Apr 20, 2025 am 10:48 AM

Terdapat empat cara untuk menyesuaikan senarai artikel WordPress: Gunakan pilihan tema, gunakan plugin (seperti pesanan jenis pos, senarai pos WP, barangan boxy), gunakan kod (tambah tetapan dalam fail fungsi.php), atau ubah suai pangkalan data WordPress secara langsung.

Cara Mengira C-SubScript 3 Subscript 5 C-SubScript 3 Subscript 5 Algoritma Tutorial Cara Mengira C-SubScript 3 Subscript 5 C-SubScript 3 Subscript 5 Algoritma Tutorial Apr 03, 2025 pm 10:33 PM

Pengiraan C35 pada dasarnya adalah matematik gabungan, yang mewakili bilangan kombinasi yang dipilih dari 3 dari 5 elemen. Formula pengiraan ialah C53 = 5! / (3! * 2!), Yang boleh dikira secara langsung oleh gelung untuk meningkatkan kecekapan dan mengelakkan limpahan. Di samping itu, memahami sifat kombinasi dan menguasai kaedah pengiraan yang cekap adalah penting untuk menyelesaikan banyak masalah dalam bidang statistik kebarangkalian, kriptografi, reka bentuk algoritma, dll.

Bagaimana untuk memahami keserasian ABI dalam C? Bagaimana untuk memahami keserasian ABI dalam C? Apr 28, 2025 pm 10:12 PM

Keserasian ABI dalam C merujuk kepada sama ada kod binari yang dihasilkan oleh penyusun atau versi yang berbeza boleh serasi tanpa rekompilasi. 1. Konvensyen Calling Function, 2. Pengubahsuaian Nama, 3. Susun atur Jadual Fungsi Maya, 4. Struktur dan susun atur kelas adalah aspek utama yang terlibat.

Bagaimana dengan elegan menyelesaikan masalah jarak yang terlalu kecil dari tag span selepas rehat garis? Bagaimana dengan elegan menyelesaikan masalah jarak yang terlalu kecil dari tag span selepas rehat garis? Apr 05, 2025 pm 06:00 PM

Cara dengan elegan mengendalikan jarak tag span selepas garis baru dalam susun atur laman web, anda sering memenuhi keperluan untuk mengatur pelbagai rentang secara mendatar ...

Cara memusatkan gambar dalam bekas untuk bootstrap Cara memusatkan gambar dalam bekas untuk bootstrap Apr 07, 2025 am 09:12 AM

Gambaran Keseluruhan: Terdapat banyak cara untuk memusatkan imej menggunakan Bootstrap. Kaedah Asas: Gunakan kelas MX-AUTO ke pusat secara mendatar. Gunakan kelas IMG-cecair untuk menyesuaikan diri dengan bekas induk. Gunakan kelas D-block untuk menetapkan imej ke elemen peringkat blok (pusat menegak). Kaedah Lanjutan: Susun atur Flexbox: Gunakan sifat-Center-Center-Center dan Align-Items-Center. Susun atur Grid: Gunakan Tempat-Item: Properti Pusat. Amalan terbaik: Elakkan bersarang dan gaya yang tidak perlu. Pilih kaedah terbaik untuk projek ini. Perhatikan pemeliharaan kod dan elakkan mengorbankan kualiti kod untuk meneruskan kegembiraan

Bagaimana untuk melaksanakan susun atur penyesuaian kedudukan paksi y dalam anotasi web? Bagaimana untuk melaksanakan susun atur penyesuaian kedudukan paksi y dalam anotasi web? Apr 04, 2025 pm 11:30 PM

Algoritma Adaptif Kedudukan Y-Axis untuk Fungsi Anotasi Web Artikel ini akan meneroka cara melaksanakan fungsi anotasi yang serupa dengan dokumen perkataan, terutama bagaimana menangani selang antara anotasi ...

Fungsi Penggunaan Fungsi Jarak Jarak Jarak Penggunaan C Tutorial Penggunaan Fungsi Penggunaan Fungsi Jarak Jarak Jarak Penggunaan C Tutorial Penggunaan Apr 03, 2025 pm 10:27 PM

STD :: Unik menghilangkan elemen pendua bersebelahan di dalam bekas dan menggerakkannya ke akhir, mengembalikan iterator yang menunjuk ke elemen pendua pertama. STD :: Jarak mengira jarak antara dua iterators, iaitu bilangan elemen yang mereka maksudkan. Kedua -dua fungsi ini berguna untuk mengoptimumkan kod dan meningkatkan kecekapan, tetapi terdapat juga beberapa perangkap yang perlu diberi perhatian, seperti: STD :: Unik hanya berkaitan dengan unsur -unsur pendua yang bersebelahan. STD :: Jarak kurang cekap apabila berurusan dengan Iterator Akses Bukan Rawak. Dengan menguasai ciri -ciri dan amalan terbaik ini, anda boleh menggunakan sepenuhnya kuasa kedua -dua fungsi ini.

See all articles