2

このようなjqueryオーバーレイが1つあります。ページが読み込まれると、このように表示されます。 オンロード

ユーザーが閉じるボタンまたはフィードバック ボタンをもう一度クリックすると、このように元の位置に戻ります。 位置

機能はこのようになります。ユーザーがページをスクロールすると、自動的にその位置に戻るはずです。Onload この操作を実行するためにこの jquery コードを書いています。閉じるボタンの onclickreset()が呼び出されます。フィードバックの onclickslideme()が呼び出されます。だから私の質問は、ユーザーがページを下にスクロールすると、このオーバーレイが元の位置に戻るはずです。ユーザーのスクロールを検出してこの操作を実行する方法は?

$(document).ready(function()
{
    SlideMe();

    $('body').keypress(function(e)
    {
        if(e.keyCode == 27)
        {
            reset();
        }
 });

    });
    function SlideMe()
    {   
        if(document.getElementById('hdnFBStats').value == 1)
        {
            document.getElementById('hdnFBStats').value =0;
            reset();
            return false;
        }

        $lngDocWidth = ($(document).width()/3)+32;

        $('#overlay').fadeIn('fast',function(){
            $("#fb").animate({marginRight:$lngDocWidth}, 1500);         
        });

        $("#feedbackimg").css("margin-right", '100px');
        $("#feedbackimg").css("float", 'right');

        document.getElementById('hdnFBStats').value= 1;
    }

    function reset()
    {
        $("#fb").css('margin-right', '0px');
        $('#overlay').fadeOut('fast');
    }
4

2 に答える 2

4

jQueryの$(window).scroll()イベントを使用できます

http://api.jquery.com/scroll/

于 2012-12-19T08:07:04.157 に答える
3

これは、タブが実際に開いている場合にのみスクロール チェックを行います。

$(window).scroll(function() {
    if(document.getElementById('hdnFBStats').value == 1) {
        document.getElementById('hdnFBStats').value = 0;
        reset();
    } else {
        if($(window).scrollTop() == 0) {
            SlideMe();
            document.getElementById('hdnFBStats').value = 1;
        }
    }
});
于 2012-12-19T08:11:18.867 に答える