滚动后添加类也需要在刷新时工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了滚动后添加类也需要在刷新时工作相关的知识,希望对你有一定的参考价值。

我有一个工作脚本,在滚动80px后向主体添加一个类。这有效,但我已经滚动然后刷新页面后也需要它。

也许可以按位置更换滚动部分?

// fixed header
$(function() {
    $(window).scroll(function() {
        var scroll = $(window).scrollTop();
        if (scroll >= 80) {
            $("body").addClass('fixed');
        } else {
            $("body").removeClass("fixed");
        }
    });
});
答案

你是对的。你需要检查事件和初始值:

window.addEventListener('load', function() {
    var scroll = $(window).scrollTop();
    if (scroll >= 80) {
        $("body").addClass('fixed');
    }
    //no removing needed cause refresh did it
});
另一答案

$(window).scroll只会在滚动事件发生时触发。如果要在页面加载时检查滚动位置,则应在$(window).scroll回调之外执行此操作,如下所示:

function updateScroll() {
    if ($(window).scrollTop() >= 80) {
        $("body").addClass('fixed');
    } else {
        $("body").removeClass("fixed");
    }
}

$(function() {
    $(window).scroll(updateScroll);
    updateScroll();
});

以上是关于滚动后添加类也需要在刷新时工作的主要内容,如果未能解决你的问题,请参考以下文章

从列表视图中删除一行后刷新片段

UITableViewAutomaticDimension 单元格在滚动或拉动刷新后调整大小

滚动选项卡中的片段时隐藏/显示工具栏

自动刷新android片段,直到满足条件

页面刷新后禁用浏览器的自动滚动?

单击按钮时刷新片段视图