2

我创建了一个 jQuery 窗口滚动条检测器,但是当我重新调整浏览器窗口的大小时,反过来将滚动条状态从可见更改为不可见,反之亦然,状态通知器保持静态。如何通过严格的 javascript在没有 AJAX 调用的情况下以简单的方式在每次调整大小时不断更新状态通知器?

对于进一步的上下文,如果内容不超过窗口大小,我基本上是想提出一个半无限滚动的解决方案。如果你们中的一个人弄清楚了这一点,那么对于许多试图整合需求量很大且流行的滚动加载效果的 UI 开发人员来说,这将是非常有益的。提前致谢。这是我的演示

$(window).resize(function () {

    ///????

});
4

1 回答 1

1

您可以使用所谓的函数来实现这一点。在 Javascript 中,函数实际上是对象,可以简单地存储在变量中并作为参数传递。

举个例子:

//first define your function - maybe give it a better name than I did :)
var detectScrollbar = function () {
    if($(window).height() >= $(document).height()){
        $('#statusNotifier1').fadeIn("slow");
        $('#statusNotifier2').hide();
    }
    else
    {
        $('#statusNotifier1').hide();
        $('#statusNotifier2').fadeIn("slow");
    }
};

//call it initially
detectScrollbar();

//pass it to .resize() so it will be called when the event fires
$(window).resize(detectScrollbar);

你可以把这整件事放到你的$(document).ready();.

享受jsFiddle 演示的乐趣。我希望所有那些悲伤的 UI 开发人员都会面带微笑地跳舞,庆祝:)。

于 2012-10-30T00:00:37.173 回答