halaman jquery melarang menatal halaman
Apabila membangunkan halaman web, kami mungkin menghadapi situasi di mana kami perlu melarang penatalan halaman dalam keadaan tertentu, seperti kotak modal timbul, menu timbul, dsb. Dalam kes ini, kita boleh menggunakan jQuery untuk melumpuhkan penatalan halaman. Berikut akan memperkenalkan secara terperinci cara menggunakan jQuery untuk mengelakkan penatalan halaman.
1. Mendapatkan dan melumpuhkan penatalan
Pertama, anda perlu mendapatkan bar skrol. Kita boleh menggunakan kod berikut untuk mendapatkan bar skrol:
var scrollTop = $(window).scrollTop();
Antaranya, scrollTop() ialah kaedah yang digunakan dalam jQuery untuk mendapatkan kedudukan bar skrol. Selepas mendapat nilai scrollTop, kami boleh menggunakan kod berikut untuk melumpuhkan penatalan halaman:
$('body').addClass('noscroll').css({ 'top': -scrollTop + 'px' });
Di sini, kami menambah kelas tersuai noscroll pada elemen badan halaman dan menetapkan atribut teratas untuk dibuat elemen badan Gerakkan kedudukan ke atas untuk menghalang halaman daripada menatal. Perlu diingatkan bahawa untuk mengelakkan halaman berkelip, apabila melumpuhkan penatalan halaman, nilai scrollTop perlu ditetapkan kepada nombor negatif. Begitu juga, kami juga boleh menggunakan kod berikut untuk memulihkan penatalan halaman:
$('body').removeClass('noscroll'); $(window).scrollTop(scrollTop);
Di sini, kami mengalih keluar kelas noscroll untuk elemen badan halaman dan menggunakan kaedah scrollTop() untuk menetapkan bar skrol kedudukan kembali kepada nilai asal, supaya tatal halaman boleh dipulihkan.
2. Elakkan perubahan lebar bar skrol
Selepas melumpuhkan skrol halaman, masalah akan timbul: kehilangan bar skrol akan menyebabkan lebar halaman mengecil, yang akan menyebabkan kegelisahan halaman. Untuk menyelesaikan masalah ini, kami boleh menambah elemen pemegang tempat pada struktur HTML Apabila penatalan halaman dilumpuhkan, lebar elemen ditetapkan pada lebar bar skrol halaman semasa, untuk mengelakkan halaman bergoncang. . Berikut ialah kod untuk menambah elemen pemegang tempat:
<body> <div class="scrollbar-width"></div> <!-- 页面其余结构 --> </body>
Seterusnya, kita boleh menggunakan kod berikut untuk mendapatkan lebar bar skrol:
function getScrollbarWidth() { var outer = document.createElement('div'); outer.style.visibility = 'hidden'; outer.style.width = '100px'; outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps document.body.appendChild(outer); var widthNoScroll = outer.offsetWidth; // force scrollbars outer.style.overflow = 'scroll'; // add innerdiv var inner = document.createElement('div'); inner.style.width = '100%'; outer.appendChild(inner); var widthWithScroll = inner.offsetWidth; // remove divs outer.parentNode.removeChild(outer); return widthNoScroll - widthWithScroll; };
Di sini, kita menggunakan fungsi untuk mendapatkan lebar lebar bar skrol. Pertama, elemen div dicipta dan digayakan kepada keterlihatan: tersembunyi dan lebar: 100px. Kemudian, tetapkan gaya msOverflowStyle ke bar skrol (untuk aplikasi WinJS) dan tambahkannya pada elemen badan dokumen. Seterusnya, gunakan sifat innerWidth untuk mendapatkan lebar bar skrol. Seterusnya, tetapkan gaya limpahan untuk menatal dan buat bahagian dalam elemen div baharu untuk mengisi bahagian luar elemen div asal. Akhir sekali, tetapkan lebar dalam kepada 100% dan dapatkan Lebar dalamannya. Perkara terakhir yang perlu dilakukan ialah memadam elemen div dan menolak lebar seterusnya daripada lebar sebelumnya untuk mendapatkan lebar bar skrol.
3. Kod lengkap
Akhir sekali, kami menggabungkan kod yang diperkenalkan di atas untuk mendapatkan kod lengkap untuk melarang menatal halaman:
var scrollbarWidth = getScrollbarWidth(); var scrollTop = $(window).scrollTop(); // 禁用滚动条 $('body').addClass('noscroll').css({ 'top': -scrollTop + 'px', 'padding-right': scrollbarWidth + 'px' }); // 恢复滚动条 $('body').removeClass('noscroll').css({ 'padding-right': '' }); $(window).scrollTop(scrollTop); function getScrollbarWidth() { var outer = document.createElement('div'); outer.style.visibility = 'hidden'; outer.style.width = '100px'; outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps document.body.appendChild(outer); var widthNoScroll = outer.offsetWidth; // force scrollbars outer.style.overflow = 'scroll'; // add innerdiv var inner = document.createElement('div'); inner.style.width = '100%'; outer.appendChild(inner); var widthWithScroll = inner.offsetWidth; // remove divs outer.parentNode.removeChild(outer); return widthNoScroll - widthWithScroll; };
Di atas adalah menggunakan jQuery untuk melaksanakan halaman larangan Semua langkah untuk menatal. Dengan kaedah ini, kami boleh mengawal penatalan halaman dengan lebih baik semasa membangunkan halaman web dan mengelakkan beberapa situasi yang tidak dijangka.
Atas ialah kandungan terperinci halaman jquery melarang menatal halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, dengan komponen terasnya dan pengurusan negeri. 1) Memudahkan pembangunan UI melalui komponen dan pengurusan negeri. 2) Prinsip kerja termasuk perdamaian dan rendering, dan pengoptimuman dapat dilaksanakan melalui React.Memo dan Usememo. 3) Penggunaan asas adalah untuk membuat dan membuat komponen, dan penggunaan lanjutan termasuk menggunakan cangkuk dan konteksapi. 4) Kesalahan biasa seperti kemas kini status yang tidak betul, anda boleh menggunakan ReactDevTools untuk debug. 5) Pengoptimuman prestasi termasuk menggunakan react.memo, senarai virtualisasi dan codesplitting, dan menyimpan kod yang boleh dibaca dan dikekalkan adalah amalan terbaik.

TypeScript meningkatkan pembangunan React dengan menyediakan keselamatan jenis, meningkatkan kualiti kod, dan menawarkan sokongan IDE yang lebih baik, dengan itu mengurangkan kesilapan dan meningkatkan kebolehkerjaan.

Artikel ini menerangkan menggunakan UserEducer untuk Pengurusan Negeri Kompleks dalam React, memperincikan manfaatnya ke atas UseState dan bagaimana untuk mengintegrasikannya dengan useeffect untuk kesan sampingan.

Ekosistem React termasuk perpustakaan pengurusan negeri (seperti redux), perpustakaan penghalaan (seperti reactrouter), perpustakaan komponen UI (seperti bahan-UI), alat ujian (seperti jest), dan alat bangunan (seperti webpack). Alat ini bekerjasama untuk membantu pemaju membangun dan mengekalkan aplikasi dengan cekap, meningkatkan kualiti kod dan kecekapan pembangunan.

React adalah rangka kerja front-end untuk membina antara muka pengguna; Rangka kerja back-end digunakan untuk membina aplikasi sisi pelayan. React menyediakan kemas kini UI yang komponen dan cekap, dan Rangka Kerja Backend menyediakan penyelesaian perkhidmatan backend lengkap. Apabila memilih timbunan teknologi, keperluan projek, kemahiran pasukan, dan skalabiliti harus dipertimbangkan.
