Belum lama ini, seorang netizen yang akan lulus mengirimi saya email. Proyek kelulusannya perlu mendapatkan efek layar kunci, tetapi dia tidak dapat memahami kode sumber dari kotak dialog yang saya posting sebelumnya kode terkait layar kunci. Saya bilang saya akan mempostingnya dalam dua hari. Karena akhir-akhir ini saya sangat sibuk, saya baru mengingatnya sekarang, dan saya harap belum terlambat untuk menulis artikel ini.
Langsung ke intinya:
Saat ini, lapisan topeng semi-transparan layar penuh banyak digunakan di situs web web2.0. Kebanyakan topeng diimplementasikan dengan menghitung ukuran halaman dan kemudian menutupinya dengan lapisan dengan ukuran yang sama dengan halaman, seperti Tencent qzone dan backend wordpress. . Metode ini dapat dimengerti, tetapi akan gagal di IE8 jika halamannya sangat panjang (penjelasan dari informasi asing adalah terkait dengan kartu grafis mesin). Beberapa siswa dengan plot yang sempurna menggaruk-garuk kepala setelah menghadapi masalah ini , mereka bahkan ingin IE8 terpaksa menggunakan metode IE7 untuk mengurai karyanya. Sebenarnya kita punya cara yang lebih baik, ayo gunakan CSS untuk menyelesaikannya!
Ingat " posisi: tetap "? Ini adalah atribut baru CSS2. Ini dapat membuat elemen tetap berada di halaman dan tidak bergerak saat menyeret bilah gulir. Misalnya, bilah navigasi tetap di bagian atas Qzone diterapkan dengan cara ini. Demikian pula, kita juga dapat menggunakan lapisan dengan tinggi dan lebar 100% untuk menutupi area pandang browser, sehingga penyembunyian layar penuh dapat dicapai. Tidak perlu menghitung ukuran halaman, dan tidak perlu memodifikasi secara dinamis ukuran saat mengubah ukuran browser.
Jalankan kotak kode
[Ctrl+A Pilih Semua Tip: Anda dapat memodifikasi sebagian kode terlebih dahulu lalu tekan Jalankan]
Tapi ada sakit kepala. IE6 tidak mendukung "posisi: tetap". Kami hanya dapat mengubah nilai TOP-nya secara dinamis melalui js untuk mensimulasikan posisi statis. Saat menyeret bilah gulir, topeng pasti akan bergetar karena setiap kali berubah IE akan kembali -render lagi. Namun Microsoft telah memberi kami fitur yang sangat menarik. Jika Anda menyetel gambar latar belakang yang diposisikan secara statis untuk tag html atau body, lapisan tidak akan bergetar saat bilah gulir diseret, hampir secara sempurna menyimulasikan "posisi: tetap" ". Dalam proyek sebenarnya, saya menemukan bahwa fitur ini juga dapat memicu fungsi khusus lainnya, yang akan saya jelaskan nanti.
Untuk menghindari masalah, kami menggunakan ekspresi jahat untuk menulis beberapa skrip dalam CSS untuk IE6, dan memposisikan ulang lapisan topeng kami saat menyeret bilah gulir. Legenda mengatakan bahwa ekspresi sangat intensif dalam kinerja, tetapi ekspresi kami hampir tidak ada kerugian. Siswa yang tertarik dapat mempelajari ekspresi secara mendalam.
Jalankan kotak kode
[Ctrl+A Pilih Semua Tip: Anda dapat memodifikasi sebagian kode terlebih dahulu lalu tekan Jalankan]
Oke, setelah kompatibel dengan boneka berkepala besar IE6, topeng layar kunci kami telah diadopsi oleh browser arus utama. Namun, pelajar yang menggunakan js untuk menulis efek selalu merasa sangat frustrasi dan selalu ingin memasukkan sesuatu, jadi kami akan Tambahkan a. skrip kecil untuk menghentikan operasi pengguna ketika layar terkunci, menonaktifkan bilah gulir, roda, tombol tab, pilih semua, segarkan, dan klik kanan untuk mensimulasikan 'layar kunci' yang sebenarnya:
Jalankan kotak kode
[Ctrl+A Pilih Semua Tip: Anda dapat memodifikasi sebagian kode terlebih dahulu lalu tekan Jalankan]
Teks asli: http://www.planeart.cn/?p=792