Saya telah menerapkan fancybox2 di situs dev.
Ketika saya menggunakan fancybox (klik tautan dll), seluruh html bergeser di belakangnya - dan pergi ke atas. Saya membuatnya berfungsi dengan baik di demo lain, tetapi ketika saya menyeret kode yang sama ke proyek ini, kode itu melompat ke atas. Tidak hanya dengan link ke divs inline, tetapi juga untuk galeri gambar sederhana.
Apakah ada yang mengalami ini?
jquery
css
fancybox-2
sheriffderek
sumber
sumber
Jawaban:
Ini sebenarnya bisa dilakukan dengan pembantu di Fancybox 2.
http://davekiss.com/prevent-fancybox-from-jumping-to-the-top-of-the-page/
sumber
locked
diatur kefalse
.) Ini adalah solusi sementara untuk masalah yang dapat menimbulkan masalah lain untuk beberapa skenario. Ini adalah bug dan telah diperbaiki di master terbaru github.com/fancyapps/fancyBox/archive/master.zipJordanj77 benar tetapi solusi termudah adalah dengan pergi ke stylesheet
jquery.fancybox.css
dan mengomentari baris yang mengatakanoverflow: hidden !important;
di bagian.fancybox-lock
sumber
Saya menyadari ini adalah pertanyaan lama, tetapi saya rasa saya telah menemukan solusi yang baik untuk itu. Masalahnya adalah bahwa kotak mewah mengubah nilai luapan tubuh untuk menyembunyikan bilah gulir browser.
Seperti yang ditunjukkan Dave Kiss, kita dapat menghentikan kotak mewah dari melakukan ini dengan menambahkan parameter berikut:
Tapi, sekarang kita bisa menggulir halaman utama sambil melihat jendela kotak mewah kita. Ini lebih baik daripada melompat ke atas halaman, tetapi mungkin itu bukan yang sebenarnya kita inginkan.
Kita dapat mencegah pengguliran dengan cara yang benar dengan menambahkan parameter berikutnya:
Dan tambahkan fungsi-fungsi ini dari galambalaz. Lihat: Bagaimana cara menonaktifkan pengguliran sementara?
sumber
Masalahnya adalah fancyBox mengubah nilai luapan tubuh untuk menyembunyikan bilah gulir browser. Saya tidak dapat menemukan opsi untuk mengubah perilaku ini.
Anda dapat menghapus bagian kode fancyBox ini untuk mencegahnya:
sumber
Terlepas dari kenyataan, bahwa cara yang tepat untuk menyelesaikan masalah ini adalah melalui opsi, yang disediakan fancybox ( lihat jawaban ini ), CSS dapat digunakan untuk menyelesaikan masalah. Tidak perlu mengedit file css perpustakaan, cukup tambahkan ini ke lembar gaya utama aplikasi:
Kode menyetel ulang luapan asli elemen. Masalahnya adalah bahwa
overflow: hidden;
scrollbar tersembunyi pada<html>
elemen tersebut, yang menyebabkan halaman "melompat" ke atas. Untuk mempertahankan posisi scrollbar, kami menimpa overflow denganoverflow: visible;
sumber
<body>
atau / dan<html>
mungkin memilikiheight: 100%
Ini juga membantu
sumber
Jawaban yang diterima tidak lengkap karena tidak benar-benar menyelesaikan masalah, melainkan hanya menghindarinya! Berikut adalah jawaban yang lebih lengkap yang benar-benar memberi Anda fungsionalitas yang diinginkan saat memperbaiki masalah lompatan jendela:
sumber
Mungkin jawaban ini sangat terlambat tapi mungkin bisa membantu di masa depan, jika setelah mengklik / menutup gambar fancybox membuat situs web Anda bergulir ke atas, Anda bisa menghapus:
atau penggunaan yang lebih baik:
Dalam versi fancyBox: 2.1.5 (Jum, 14 Jun 2013) bagian kode tersebut ada di baris 897.
sumber
Anda sebenarnya dapat membuat kode seperti ini jika Anda menggunakan fungsi default fancybox:
sumber
Saya memperbaikinya dengan:
di dalam
.fancybox-lock
tubuhjquery.fancybox.css
. Dan scrollbar tidak melompat :)sumber