zoukankan      html  css  js  c++  java
  • div导航滚动到固定位置,且锚点定位不精准解决办法

    一、首页,设置导航效果:

    $(function () {
                //获取要定位元素距离浏览器顶部的距离
                let p= $('#zsjz-nav').offset().top;
                $(window).bind("scroll",function () {
                    //获取滚动条的滑动距离
                    let scroH = $(this).scrollTop();
                    //滚动条的滑动距离大于等于定位元素距离浏览器顶部的距离,就固定,反之就不固定
                    if(scroH>=p){
                        $("#zsjz-nav").addClass("scroll-up")
                        $('.nav-box').show();
                    }else{
                        $("#zsjz-nav").removeClass("scroll-up")
                        $('.nav-box').hide();
                    }
                });
            })

    因为导航div从display:block变成display:fixed,脱离了文档流,造成后面锚点定位不准确,这里发一下这个bug的解决办法

    <div class="container" id="zsjz-nav">
            <ul class="nav-menu">
                <li><a href="#index">招生简章</a></li>
                <li><a href="#school">学校简介</a></li>
                <li><a href="#environment">优美环境</a></li>
                <li><a href="#culture">丰富文化</a></li>
            </ul>
        </div>
        <div class="nav-box">只为了弥补导航脱离文档流后的位置</div>
    <style>
    .nav-box{ 100%;height: 140px;display: none;}
    </style>

    二、锚点定位的内容被导航遮住

    锚点位置跳转到的位置div:

    .extra{border-top: solid 100px #fff;margin-top: -100px;}

     这实际上是一种掩眼法,对齐的参考点还是在元素的顶端,只是我把元素的设置了特定的border-top(padding-top也可以,margin-top不可以),锚点就可以好像真的一样偏移到目标标题文字,但是这样会使下来元素之间产生一段距离,那么我们只要设置其margin-top为负值,而且刚好为padding-top的值即可。

    具体内容可以参考:http://www.webjx.com/css/divcss-17544.html#anchor2

    <ul class="nav-menu">
        <li><a href="#index">招生简章</a></li>
        <li><a href="#school">学校简介</a></li>
    </ul>
    
    <div class="row extra" id="school" >
        <div class="col-md-12">
            <div class="h3 title"><span class="glyphicon glyphicon-home icon"></span>学校介绍</div>
        </div>
    </div>

    总结:遇到问题解决问题,我们会更棒

  • 相关阅读:
    基本数据类型相互转换及操作方法
    python以及计算机原理基础简要摘录
    Linux程序包管理
    rpm命令详解
    Linux程序包管理
    Linux任务计划
    压缩,解压缩工具及bash脚本编程
    btrfs文件系统管理与应用
    LVM应用
    CSS核心技术
  • 原文地址:https://www.cnblogs.com/moppet/p/12599234.html
Copyright © 2011-2022 走看看