Rumah hujung hadapan web tutorial js Bagaimana untuk menggunakan JavaScript untuk melaksanakan pelarasan drag-and-drop lebar lajur jadual?

Bagaimana untuk menggunakan JavaScript untuk melaksanakan pelarasan drag-and-drop lebar lajur jadual?

Oct 21, 2023 am 08:14 AM
javascript lembaran Pelarasan lebar lajur

如何使用 JavaScript 实现表格列宽拖拽调整功能?

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi pelarasan seret dan lepas lebar lajur jadual?

Dengan perkembangan teknologi Web, semakin banyak data dipaparkan di halaman web dalam bentuk jadual. Walau bagaimanapun, kadangkala lebar lajur jadual tidak dapat memenuhi keperluan kami dan kandungan mungkin melimpah atau lebar mungkin tidak mencukupi. Untuk menyelesaikan masalah ini, kami boleh menggunakan JavaScript untuk melaksanakan fungsi pelarasan drag-and-drop lebar lajur jadual, supaya pengguna bebas melaraskan lebar lajur mengikut keperluan mereka.

Untuk melaksanakan fungsi pelarasan seret dan lepas lebar lajur jadual, tiga langkah utama berikut diperlukan:

  1. Pemantauan acara tetikus: Anda perlu menambah acara tetikus pemantauan ke jadual untuk menangkap tingkah laku operasi Pengguna.
  2. Pelarasan dinamik lebar lajur: Laraskan lebar lajur jadual secara dinamik mengikut operasi seretan pengguna.
  3. Rekod status jadual: Rekod status lebar lajur yang dilaraskan oleh pengguna supaya hasil pelarasan dapat dikekalkan selepas halaman dimuat semula atau dimuat semula.

Berikut akan memperkenalkan kaedah pelaksanaan tiga langkah di atas secara terperinci dan memberikan contoh kod yang sepadan.

  1. Mendengar acara tetikus

Pertama, tambahkan acara turun tetikus pada jadual. Apabila pengguna mengklik pada tepi lajur jadual, mereka boleh mula menyeret untuk melaraskan lebar lajur. Dalam pengendali acara mousedown, kedudukan klik tetikus perlu direkodkan. mousedown 事件监听。当用户点击表格列边缘时,可以开始拖拽调整列宽。在 mousedown 事件处理函数中,需要记录鼠标点击的位置。

function tableMouseDown(event) {
  // 记录鼠标点击的位置
  const startX = event.clientX;
  // ...
}
Salin selepas log masuk

接着,为 document 对象添加 mousemove 事件监听。在 mousemove 事件处理函数中,需要计算鼠标移动的距离,并动态改变表格列的宽度。

function documentMouseMove(event) {
  // 计算鼠标移动的距离
  const distanceX = event.clientX - startX;
  // 动态改变表格列的宽度
  // ...
}
Salin selepas log masuk

最后,为 document 对象添加 mouseup 事件监听。当用户释放鼠标时,停止调整列宽。

function documentMouseUp() {
  // 停止调整列宽
  // ...
}
Salin selepas log masuk
  1. 动态调整列宽

mousemove 事件处理函数中,根据用户的拖拽操作,动态调整表格列的宽度。首先,需要确定当前拖拽的是哪一列,可以通过表格头部的 th 元素来确定。然后,根据计算得到的鼠标移动距离,动态改变表格列的宽度。

function documentMouseMove(event) {
  // 计算鼠标移动的距离
  const distanceX = event.clientX - startX;
  
  // 动态改变表格列的宽度
  const th = document.elementFromPoint(startX, event.clientY);
  const columnIndex = th.cellIndex;
  const table = th.parentNode.parentNode.parentNode;
  const cells = table.querySelectorAll(`tr th:nth-child(${columnIndex + 1}), tr td:nth-child(${columnIndex + 1})`);

  const newWidth = parseFloat(getComputedStyle(cells[0]).width) + distanceX;
  for (const cell of cells) {
    cell.style.width = `${newWidth}px`;
  }
}
Salin selepas log masuk
  1. 记录表格状态

为了在页面刷新或者重新加载后保持用户调整的列宽,我们需要将表格的列宽状态记录下来。可以使用 localStorage 或者 cookie 来实现数据的持久化保存。

function documentMouseUp() {
  // 停止调整列宽
  // ...

  // 记录表格的列宽状态
  const columnWidths = {};
  const table = document.querySelector('table');
  const columns = table.querySelectorAll('th');
  for (const column of columns) {
    columnWidths[column.cellIndex] = parseFloat(getComputedStyle(column).width);
  }
  
  localStorage.setItem('columnWidths', JSON.stringify(columnWidths));
}
Salin selepas log masuk

在页面加载时,可以从 localStorage

window.addEventListener('load', function() {
  const columnWidths = JSON.parse(localStorage.getItem('columnWidths'));
  if (columnWidths) {
    const table = document.querySelector('table');
    const columns = table.querySelectorAll('th');
    for (const [index, width] of Object.entries(columnWidths)) {
      columns[index].style.width = `${width}px`;
    }
  }
});
Salin selepas log masuk
Seterusnya, tambahkan pendengar acara mousemove untuk objek document. Dalam fungsi pengendali acara mousemove, anda perlu mengira jarak yang digerakkan oleh tetikus dan menukar lebar lajur jadual secara dinamik.

rrreee

Akhir sekali, tambahkan pendengar acara mouseup untuk objek document. Apabila pengguna melepaskan tetikus, hentikan saiz semula lebar lajur. #🎜🎜#rrreee
    #🎜🎜#Pelarasan dinamik lebar lajur#🎜🎜##🎜🎜##🎜🎜#Dalam fungsi pengendalian acara mousemove, mengikut pengguna Seret dan lepas untuk melaraskan lebar lajur jadual secara dinamik. Mula-mula, anda perlu menentukan lajur yang sedang diseret, yang boleh ditentukan melalui elemen th dalam pengepala jadual. Kemudian, tukar lebar lajur jadual secara dinamik berdasarkan jarak pergerakan tetikus yang dikira. #🎜🎜#rrreee
      #🎜🎜#Rekod status jadual#🎜🎜##🎜🎜##🎜🎜#Untuk mengekalkan lebar lajur yang dilaraskan pengguna selepas muat semula halaman atau muat semula, kami memerlukan ke Status lebar lajur jadual direkodkan. Anda boleh menggunakan localStorage atau cookie untuk mencapai storan data yang berterusan. #🎜🎜#rrreee#🎜🎜#Pada pemuatan halaman, keadaan lebar lajur yang disimpan boleh dibaca daripada localStorage dan digunakan pada jadual. #🎜🎜#rrreee#🎜🎜#Melalui tiga langkah di atas, kita boleh merealisasikan fungsi pelarasan seret dan lepas lebar lajur jadual. Pengguna boleh melaraskan lebar lajur jadual secara bebas dan mengoptimumkan kesan paparan jadual mengikut keperluan sebenar. Semoga artikel ini dapat membantu anda! #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk menggunakan JavaScript untuk melaksanakan pelarasan drag-and-drop lebar lajur jadual?. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Langkah-langkah melaraskan format gambar yang disisipkan dalam jadual PPT Langkah-langkah melaraskan format gambar yang disisipkan dalam jadual PPT Mar 26, 2024 pm 04:16 PM

1. Buat fail PPT baharu dan namakannya [Petua PPT] sebagai contoh. 2. Klik dua kali [Petua PPT] untuk membuka fail PPT. 3. Masukkan jadual dengan dua baris dan dua lajur sebagai contoh. 4. Klik dua kali pada sempadan jadual, dan pilihan [Reka Bentuk] akan muncul pada bar alat atas. 5. Klik pilihan [Shading] dan klik [Picture]. 6. Klik [Gambar] untuk muncul kotak dialog pilihan isi dengan gambar sebagai latar belakang. 7. Cari dulang yang anda ingin masukkan dalam direktori dan klik OK untuk memasukkan gambar. 8. Klik kanan pada kotak jadual untuk memaparkan kotak dialog tetapan. 9. Klik [Format Cells] dan semak [Imej jubin sebagai teduhan]. 10. Tetapkan [Pusat], [Mirror] dan fungsi lain yang anda perlukan, dan klik OK. Nota: Lalai adalah untuk gambar diisi dalam jadual

Cara membuat jadual untuk ramalan jualan Cara membuat jadual untuk ramalan jualan Mar 20, 2024 pm 03:06 PM

Mampu membuat borang dengan mahir bukan sahaja kemahiran yang diperlukan untuk perakaunan, sumber manusia dan kewangan Bagi kebanyakan kakitangan jualan, belajar membuat borang juga sangat penting. Kerana data yang berkaitan dengan jualan adalah sangat besar dan kompleks, dan ia tidak boleh direkodkan dalam dokumen untuk menjelaskan masalah tersebut. Untuk membolehkan lebih ramai kakitangan jualan mahir menggunakan Excel untuk membuat jadual, editor akan memperkenalkan isu pembuatan jadual mengenai ramalan jualan Rakan yang memerlukan tidak boleh ketinggalan! 1. Buka [Ramalan Jualan dan Tetapan Sasaran], xlsm, untuk menganalisis data yang disimpan dalam setiap jadual. 2. Buat [Lembaran Kerja Kosong] baharu, pilih [Sel], dan masukkan [Maklumat Label]. [Seret] ke bawah dan [Isi] bulan. Masukkan data [Lain-lain] dan klik [

Bagaimana untuk menetapkan nilai WPS untuk menukar warna secara automatik mengikut syarat_Langkah untuk menetapkan nilai jadual WPS untuk menukar warna secara automatik mengikut keadaan Bagaimana untuk menetapkan nilai WPS untuk menukar warna secara automatik mengikut syarat_Langkah untuk menetapkan nilai jadual WPS untuk menukar warna secara automatik mengikut keadaan Mar 27, 2024 pm 07:30 PM

1. Buka lembaran kerja dan cari butang [Start]-[Conditional Formatting]. 2. Klik Pemilihan Lajur dan pilih lajur yang mana pemformatan bersyarat akan ditambahkan. 3. Klik butang [Pemformatan Bersyarat] untuk memaparkan menu pilihan. 4. Pilih [Serlahkan peraturan bersyarat]-[Antara]. 5. Isikan peraturan: 20, 24, teks hijau tua dengan warna isian gelap. 6. Selepas pengesahan, data dalam lajur yang dipilih akan diwarnakan dengan nombor, teks dan kotak sel yang sepadan mengikut tetapan. 7. Peraturan bersyarat tanpa konflik boleh ditambah berulang kali, tetapi untuk peraturan bercanggah WPS akan menggantikan peraturan bersyarat yang ditetapkan sebelum ini dengan peraturan tambahan terakhir. 8. Tambah lajur sel berulang kali selepas [Antara] peraturan 20-24 dan [Kurang daripada] 20. 9. Jika anda perlu menukar peraturan, anda boleh mengosongkan peraturan dan kemudian menetapkan semula peraturan.

Adakah anda tahu cara menjumlahkan jadual Word? Adakah anda tahu cara menjumlahkan jadual Word? Mar 21, 2024 pm 01:10 PM

Kadangkala, kita sering menghadapi masalah mengira dalam jadual Word Secara amnya, apabila menghadapi masalah seperti itu, kebanyakan pelajar akan menyalin jadual Word ke Excel untuk pengiraan secara senyap. Adakah terdapat cara cepat untuk mengiranya? Sudah tentu ada, sebenarnya jumlahnya juga boleh dikira dalam Word. Jadi, adakah anda tahu bagaimana untuk melakukannya? Hari ini, mari kita lihat bersama-sama! Tanpa berlengah lagi, rakan-rakan yang memerlukan perlu segera mengumpulnya! Butiran langkah: 1. Mula-mula, kita buka perisian Word pada komputer dan buka dokumen yang perlu diproses. (Seperti yang ditunjukkan dalam gambar) 2. Seterusnya, kami meletakkan kursor pada sel di mana nilai yang dijumlahkan terletak (seperti yang ditunjukkan dalam gambar kemudian, kami klik [Bar Menu);

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Apakah petua untuk orang baru membuat borang? Apakah petua untuk orang baru membuat borang? Mar 21, 2024 am 09:11 AM

Kami sering membuat dan mengedit jadual dalam excel, tetapi sebagai orang baru yang baru bersentuhan dengan perisian, cara menggunakan excel untuk mencipta jadual bukanlah semudah bagi kami. Di bawah, kami akan menjalankan beberapa latihan mengenai beberapa langkah penciptaan meja yang perlu dikuasai oleh pemula, iaitu pemula, Kami berharap ia akan membantu mereka yang memerlukan. Contoh borang untuk pemula ditunjukkan di bawah: Mari lihat cara melengkapkannya! 1. Terdapat dua kaedah untuk mencipta dokumen excel baharu. Anda boleh klik kanan tetikus pada lokasi kosong pada fail [Desktop] - [Baru] - [xls]. Anda juga boleh [Mula]-[Semua Program]-[Microsoft Office]-[Microsoft Excel 20**] 2. Dwiklik bekas baharu kami

Bagaimana untuk memasukkan penomboran automatik atau nombor siri ke dalam jadual Word Bagaimana untuk memasukkan penomboran automatik atau nombor siri ke dalam jadual Word Mar 20, 2024 am 09:30 AM

Apabila kita membuat jadual, perkara pertama yang kita fikirkan ialah menggunakan perisian Excel untuk membuat jadual, tetapi tahukah anda bahawa perisian Word sebenarnya sangat mudah untuk membuat jadual Kadangkala apabila kita membuat jadual dalam perisian Word, kita perlu memasukkan nombor siri atau nombor, jika anda memasukkannya secara manual, ia akan menjadi sangat menyusahkan, sebenarnya, terdapat operasi dalam perisian perkataan yang boleh memasukkan nombor atau nombor siri secara automatik atau nombor siri ke dalam jadual Word. 1. Mula-mula buat dokumen Word dan masukkan jadual. 2. Pilih lajur atau sel di mana anda ingin memasukkan nombor atau nombor siri automatik. 3. Klik "Mula" - "Nombor". 4. Pilih salah satu daripada nombor gaya. 5.

Adakah anda tahu bagaimana untuk menetapkan warna jadual dokumen WPS? Adakah anda tahu bagaimana untuk menetapkan warna jadual dokumen WPS? Mar 20, 2024 am 08:19 AM

Apabila kita melihat warna jadual dalam dokumen WPS orang lain, kesannya berwarna-warni dan cantik tetapi kita hanya mempunyai warna hitam yang membosankan. Jika anda perlu mengisi meja dengan warna, saya percaya ramai pelajar akan melakukannya. Walau bagaimanapun, jika anda ingin menetapkan warna jadual dalam dokumen WPS China, ramai pelajar pasti akan mendapati ia mengelirukan! Hari ini, mari kita pelajari cara menetapkan warna jadual dokumen WPS. Saya telah menyusun dokumen yang saya harap akan membantu semua orang. Langkah-langkahnya adalah seperti berikut: 1. Kita perlu melukis jadual dalam dokumen WPS dan klik kanan pada jadual di mana warna garisan akan diubah suai. 2. Seterusnya, gunakan tetikus untuk mengklik [butang kanan tetikus] pada jadual dalam menu pop timbul, kita dapati [Border and Shading]. 3. Pada masa ini, pilihan [Border and Shading] akan dibuka.

See all articles