javascript - 如何实现类似简书/知乎专栏那样header元素鼠标向下滚动的时候隐藏,向上滚动的时候又显示回来?
高洛峰
高洛峰 2017-04-11 13:29:35
[JavaScript讨论组]

知乎专栏链接
简书链接

在两个网站中浏览文章的时候,顶上的header元素在鼠标向下滚动的时候都会消失,像上滚动的时候又回重新出现,请问利用jQuery或者JavaScript实现这样一个功能呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
阿神

写了个简单的demo,以本页面为例。

下面的代码,F12,复制到console后,运行,即可实现效果

//设置下css,加个绿色的背景,明显
$('.sf-header').css({
    background : '#CFC',
    width: '100%'
});

//
$(document).scroll( function(){
    var me = arguments.callee; //匿名函数可以 通过 arguments.callee 调用自己
    me.doc = me.doc || $(document); //缓存 $(document);
    me.head = me.head || $('.sf-header');
    me.lastTop = me.lastTop || me.doc.scrollTop();
    if( me.doc.scrollTop() < 20 ||  me.doc.scrollTop() > me.lastTop ){
        //向下 或再 页面顶部,放在 头部
        me.head.css({ position : 'relative' });
    }else if( me.doc.scrollTop() < me.lastTop  ){
        //向上,悬浮
        me.head.css({ position : 'fixed' });
    }
    me.lastTop = me.doc.scrollTop();
});

PHPz

判断向上滚动还是向下滚动
http://zccst.iteye.com/blog/2...

黄舟

http://wicky.nillia.ms/headro...
这个叫 Headroom 的插件就是专门为这种场景服务的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号