下滚导航条自动隐藏,上滚显示


HTML代码(body内)

<div class="top" id="top"></div>
<div class="nav" id="nav"></div>
<div class="main-body" id="menu">
    <img src="images/img1.jpg" alt="">   <--随便一张img1.jpg-->
</div>
<div class="footer"></div>

CSS样式

body{
    background: pink;
    margin:0px;
    padding:0px;
}
.top{
    width:100%;
    height:80px;
    background:#ccc;
}
.nav{
    width:100%;
    height:40px;
    background:cornflowerblue;
}
.main-body{
    height:1600px;
}
.footer{
    width:100%;
    height:120px;
    background:pink;
}

.navfix{
    position:fixed;
    top:0px;
}

JavaScript代码

<script type="text/javascript">
    /*页面滚动事件*/
    window.onscroll = function () {
        if(document.documentElement.scrollTop >= document.getElementById('top').offsetHeight ){
            document.getElementById('nav').className = 'nav navfix'
            document.getElementById('menu').style.marginTop="40px"
        }else{
            document.getElementById('nav').className = 'nav'
            document.getElementById('menu').style.marginTop="0px"
        }
    }
    //==============================================
    //document.documentElement.scrollTop        滚动条移动的距离
    //document.getElementById('top').offsetHeight  导航上面top的高度。offsetHeight获取,知道固定高度的可以直接用数值代替

    //document.getElementById('nav').className = 'nav navfix'    .className= ,给选定的元素添加css样式
    //document.getElementById('nav').className = 'nav' 
    //document.getElementById('main-body').style.marginTop="40px"  40为nav的高度,为了解决bug,也可以设置为


    //其中.nav{ width:100%; height:40px; background:blue;}
    //.navifx{ position:fixed; top:0px; }
</script>

优质内容筛选与推荐>>
1、C#后台架构师成长之路-高阶知识体系核心
2、CSS规范 - 典型错误--(来自网易)
3、HTTPS的误解(二)
4、FLEX 4(Gumbo)教程之按钮(二) 大 | 中 | 小
5、python 加密 解密 签名 验证签名 公钥 私钥 非对称加密 RSA


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn