使用变量来控制事件

时间:2014-10-28 19:44:46

标签: javascript jquery

我有一个页脚弹出窗口,显示页面滚动一定量的时间。我有一点x用户可以点击以使页脚消失。我试图使用变量来在单击x时隐藏页脚。我不能像我想的那样让它工作,我想了解原因。这是代码:

jQuery(function($) {
    $(document).scroll(function(){
        var position = $(this).scrollTop();
        var fired = 0;

        if(position < 360 && fired === 0){
            $('#popup').slideUp();
        } else {
            $('#popup').slideDown();
        }

        $('.close').on('click', function(){
            $('#popup').slideUp();
            fired = 1; // I thought that this was suppose to override the current variable
        });
    });

});

那么,为什么这不起作用?

2 个答案:

答案 0 :(得分:2)

它不起作用,因为你在scroll函数中声明了var fired = 0;。因此,无论何时用户滚动,触发都设置为0.只需将其声明在滚动功能上方,然后就可以了。

答案 1 :(得分:0)

Fired是滚动回调的局部变量,因此总是为0.将它放在回调之外,它将保留一次。

jQuery(function($) {
 var fired = 0;
 $(document).scroll(function(){
    var position = $(this).scrollTop();
 //...