ファンシーボックスの.jsファイルを編集することで、この問題を解決しました。私はこの問題をファンシーボックスの開発者に伝えました。今後のリリースで修正されることを願っています。
バージョン 2.1.3 の
jquery.fancybox.jsファイルを使用して、どこを変更する必要があるかを説明します。
次のような 1713 行に移動します。
this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( 'body' );
これはオーバーレイ ヘルパーのセクションにあり、より具体的には "create" パブリック メソッドにあります。
この行を次のように変更します
this.overlay = $('<div class="fancybox-overlay"></div>').appendTo(F.coming.parent || 'body' );
私にとっては、最初にフォームに追加することを選択しました。これにより、オーバーレイライトボックスにスクロールバーが追加されました。次に、属性 overflaw-y: hidden を持つように CSS クラス .fancybox-overlay を変更する必要があります。
縮小バージョンの
jquery.fancybox.pack.jsを使用する場合
は、上記の長いバージョンをパック/縮小するだけです。
または、コードを検索し
てパックされたバージョンを変更するだけです
<div class="fancybox-overlay">
コードを追加する代わりに
F.coming.parent ||
のようなものを追加
b.coming.parent ||
注意:現在の fancybox のドキュメントhttp://fancyapps.com/fancybox/#docs
に記載されているように、parent オプションの値を記述してください。
$(".fancybox").fancybox({
parent: "form:first" // jQuery selector
});
私が他のサイトで見つけたような構文を使用しないで
ください https://github.com/fancyapps/fancyBox/issues/283
$('form:first')
したがって、上記のコードはどれも正常に機能するはずです。
お役に立てれば。