繁体   English   中英

在jQuery中检测滚动并更改操作

[英]Detecting scroll in jquery and change the operations

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

当用户再次单击“关闭”或“反馈”按钮时,它将返回到其位置。 位置

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

$(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');
    }

您可以使用jQuery的$(window).scroll()事件

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

如果选项卡实际上是打开的,这只会进行滚动检查。

$(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;
        }
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM