Situs web perlu diadaptasi di sisi seluler. Untuk H5 seluler dan sisi web, solusi tata letak fleksibel seperti bluma digunakan.
Daftar yang digunakan di H5 menggunakan react-virtualized untuk menggambar tabel
Untuk menampilkan detail spesifik dari satu baris data dalam tabel, solusi yang biasa dilakukan adalah menggunakan halaman baru atau jendela pop-up.
Solusi jendela pop-up digunakan di sini. Detail data setelah mengklik satu baris data menggunakan kartu modal bluma.
Untuk detail dan contoh spesifik, silakan merujuk ke: https://bulma.io/documentation/components/modal/
Detail masalah:Setelah mengklik satu baris data, jendela pop-up menampilkan data rinci, dan seluruh modal-card diatur ke position:fixed;
Tidak ada bagian footer, atur ketinggian modal-card ke ketinggian seluruh layar: 100vh
Pertunjukan:
Larutan:
solusi modal-card sendiri:JS + CSS meluap: tersembunyi
Tambahkan kelas css secara dinamis ke halaman html di bawah jendela pop-up melalui JS
if ($modalButtons.length > 0) { $modalButtons.forEach(function ($el) { $el.addEventListener('click', function () { var target = $el.dataset.target; openModal(target); } ); });}fungsi openModal(target) { var $target = document.getElementById(target); rootEl.classList.add('terpotong'); $target.classList.add('sedang aktif');}Gunakan overflow:hidden untuk menonaktifkan pengguliran halaman
terpotong { overflow:hidden!important}
Saat jendela pop-up ditutup, hapus kelas css halaman tersebut melalui JS: terpotong
function closeModals() { rootEl.classList.remove('is-cliped'); $modals.forEach(function ($el) { $el.classList.remove('is-active'); });}
Namun setelah menguji solusi ini di aplikasi, ternyata tidak menyelesaikan masalah, dan masalah di atas masih terjadi.
posisi: solusi tetapPosisi JS + CSS: tetap + scrollTop
Ide rencana:
Sebelum jendela pop-up:
const scrollTop = global.document.documentElement.scrollTop ||. global.pageYOffset ||. global.document.body.scrollTop;global.document.documentElement.style.position = 'diperbaiki';this.scrollTop = scrollTop;
Tutup jendela pop-up:
closeModalHandler = () => { const { closeOrderHistoryModal } = ini.props; global.document.documentElement.style.position = ''; global.pageYOffset = ini.scrollTop; .document.body.scrollTop = ini.scrollTop; closeOrderHistoryModal();}
Di atas adalah keseluruhan isi artikel ini, saya harap dapat bermanfaat untuk pembelajaran semua orang. Saya juga berharap semua orang mendukung VeVb Wulin Network.