javascript - 使用变量来控制事件

标签 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
        });
    });

});

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

最佳答案

它不起作用,因为您在滚动函数内声明了 varfired = 0;。因此,每当用户滚动时,fired 都会设置为 0。只需在滚动函数上方声明它,它就应该可以工作。

关于javascript - 使用变量来控制事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26617166/

相关文章:

javascript - 使用 select2 迭代 Javascript 中的 ruby​​ 对象

javascript - 我网站上这个神秘的左边距是怎么回事?为什么它不与我的浏览器的左边缘齐平?

javascript - 尝试禁用数据表中所有页面中的按钮

javascript - jsrender-从复杂结构中访问元素

javascript - 使用 jQuery UI hide ("slide") 时如何防止页面向下滚动?

javascript - 为什么我的程序会发出无休止的 GET 请求?

javascript - 按整数值重新排序对象

javascript - 在同一个ajax调用中上传和下载图像值得吗?

javascript - 使用 AngularJS 切换/隐藏 View 更改时 Bootstrap 导航栏折叠

php - 在 IE 8 中遇到问题对象需要错误,灯箱在 IE 8 和 IE 7 中不起作用