2

我有一个这样的 jquery 覆盖。当页面加载时,这将显示如下。 负载

当用户再次单击关闭或反馈按钮时,它会像这样回到它的位置。 位置

功能是这样的。现在,当用户滚动页面时,它应该会自动回到原来的位置。Onload 我正在编写此 jquery 代码来执行此操作,reset()调用关闭按钮的 onclick。反馈的点击slideme()被称为。所以我的问题是当用户向下滚动页面时,这个叠加层应该回到原来的位置。如何检测用户滚动并执行此操作?

$(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 回答