เว็บไซต์จำเป็นต้องได้รับการดัดแปลงในด้านอุปกรณ์เคลื่อนที่ สำหรับ H5 บนมือถือและด้านเว็บ จะใช้โซลูชันเค้าโครงแบบยืดหยุ่น เช่น bluma
รายการที่ใช้ใน H5 ใช้ react-virtualized เพื่อวาดตาราง
เพื่อแสดงรายละเอียดเฉพาะของข้อมูลแถวเดียวในตาราง วิธีแก้ไขตามปกติคือการใช้หน้าใหม่หรือหน้าต่างป๊อปอัป
ใช้โซลูชันหน้าต่างป๊อปอัปที่นี่ รายละเอียดข้อมูลหลังจากคลิกข้อมูลแถวเดียวจะใช้การ์ดกิริยาของ bluma
สำหรับรายละเอียดและตัวอย่างเฉพาะ โปรดดูที่: https://bulma.io/documentation/components/modal/
รายละเอียดปัญหา:หลังจากคลิกที่ข้อมูลแถวเดียว หน้าต่างป๊อปอัปจะแสดงข้อมูลโดยละเอียด และโมดอลการ์ดทั้งหมดจะถูกตั้งค่าเป็นตำแหน่ง:คงที่;
ไม่มีส่วนท้าย ให้ตั้งค่าความสูงของการ์ดกิริยาให้เป็นความสูงของทั้งหน้าจอ: 100vh
ผลงาน:
สารละลาย:
โซลูชันของ modal-card:JS + CSS ล้น: ซ่อนอยู่
เพิ่มคลาส css แบบไดนามิกให้กับหน้า html ใต้หน้าต่างป๊อปอัปผ่าน JS
if ($modalButtons.length > 0) { $modalButtons.forEach(function ($el) { $el.addEventListener('click', function () { var target = $el.dataset.target; openModal(target); } ); });} ฟังก์ชั่น openModal (เป้าหมาย) { var $target = document.getElementById (เป้าหมาย); rootEl.classList.add('is-clipped'); $target.classList.add('is-active');}ใช้ overflow:hidden เพื่อปิดการเลื่อนหน้า
ถูกคลิป { ล้น: ซ่อนไว้! สำคัญ}
เมื่อปิดหน้าต่างป๊อปอัป ให้ลบคลาส css ของเพจผ่าน JS: is-clipped
ฟังก์ชั่น closeModals() { rootEl.classList.remove('is-clipped'); $modals.forEach(function ($el) { $el.classList.remove('is-active'); });}
อย่างไรก็ตามหลังจากทดสอบวิธีแก้ปัญหานี้ในแอปพลิเคชันแล้วพบว่าไม่สามารถแก้ปัญหาได้และปัญหาข้างต้นยังคงเกิดขึ้น
ตำแหน่ง: วิธีแก้ปัญหาแบบคงที่ตำแหน่ง JS + CSS: แก้ไข + scrollTop
แนวคิดการวางแผน:
ก่อนหน้าต่างป๊อปอัป:
const scrollTop = global.document.documentElement.scrollTop ||. global.pageYOffset ||. global.document.body.scrollTop;global.document.documentElement.style.position = 'คงที่';this.scrollTop = scrollTop;
ปิดหน้าต่างป๊อปอัป:
closeModalHandler = () => { const { closeOrderHistoryModal } = this.props; global.document.documentElement.style.position = ''; global.pageYOffset = this.document.documentElement.scrollTop = this.scrollTop; .document.body.scrollTop = this.scrollTop; closeOrderHistoryModal();}
ข้างต้นคือเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการศึกษาของทุกคน ฉันหวังว่าทุกคนจะสนับสนุน VeVb Wulin Network