javascript - 滚动时使 Div "catch"位于页面顶部

标签 javascript jquery html css

我在网站上有一个 header ,它距离页面顶部固定 20px

但是,我希望它在滚动时捕获页面顶部,并在用户向下滚动 20 像素后固定在屏幕顶部。

CSS

#header{
    padding: 0px 0px 0px 0px;
    background: url(../images/header-fill2.jpg) repeat-x top;
    position: fixed;
    height: 60px;
    width: 100%;
    top: 20px;
    z-index: 5000;
}

我认为需要某种形式的 JavaScript,但几乎没有 JavaScript 经验,因此非常感谢任何帮助。

最佳答案

只需监听 scroll 事件并读取 $(window).scrollTop() 的值并据此设置 top .
像这样的东西:

$(window).on('scroll', function() {
    $('#header').css('top', $(window).scrollTop() > 20 ? '0px' : '20px');
});

Example on jsFiddle

关于javascript - 滚动时使 Div "catch"位于页面顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25059833/

相关文章:

html - 让 text-div 在图像顶部右下对齐

javascript - 尝试上下移动 div 时出现问题

javascript - iOS 退出全屏 API

javascript - 从 API 获取 JSON 响应?

javascript - 开发 Chrome 扩展时,如何打开空白页面来运行脚本?

javascript - 通过单击列表更改 div 内容?

javascript - jQuery UI 小部件

html - Firefox、IE 和 Chrome 不同的空白处理

javascript - 对齐 div 和按钮并保持模态功能

javascript - jQuery 查找所有输入类型,选择 ajax 请求