0

ウィンドウの高さによる画像のサイズ変更なしで fancybox プラグインを使用しています。ギャラリーの画像は、高さ約 800 ~ 2000 ピクセルの適切な解像度です。したがって、ユーザーはスタック内のすべての画像をスクロールする必要があります。簡単にするために、scrollToTop ボタンを挿入することにしました。しかし、fancybox がどういうわけかスクロール イベントをブロックするため、機能しませんでした。次のようにして、スクロールイベントを再作成しようとしました。

$(window).scroll(function() {
    alert('Scroll');
});

しかし、それもうまくいきませんでした。

4

4 に答える 4

2

afterShow次のような fancybox() コールバック内で scrollToTop ボタンを初期化する必要があると思います。

afterShow: function() {
    $("#scrollButtonID").on("click", function() {
        $(".fancybox-overlay").scrollTop(0); // or whatever value
    });
}

ターゲット$(window)にする代わりに、実際にはファンシーボックス オーバーレイの上部に移動していることに注意してください。$(".fancybox-overlay")

このjsfiddleを参照してください

私のデモでは、fancybox オーバーレイの追加要素としてボタンを設定しましたがtitle、fancybox として設定することもできます。よりスムーズな移行のために、スクロールイベントを使用できますがanimate、それは表面的なものです;)

于 2012-12-04T19:42:08.070 に答える
0

.on()でバインドしてみますか?

$(document).on('scroll', function() { 
    alert('Scroll....');
}); 
于 2012-12-04T09:07:38.150 に答える
0

これには、バニラの JavaScript を使用することもできます。

window.onscroll = function () {
    alert('Scroll');
}
于 2012-12-04T09:12:18.977 に答える