zoukankan      html  css  js  c++  java
  • 导航固定时页面内锚点跳转问题

    写在前面:

       记录对一个小问题的不算解决的方法,大家如果有更好的方法,欢迎交流,谢谢

      Demo百度云链接:http://pan.baidu.com/s/1qW9NLlM

        问题说明:上面导航栏固定,页面内实现锚点平滑跳转,跳转时如何使页面处于导航栏之下?

        解决方式:通过一个div,给div导航的高度,每次跳至div处

       问题图片:

    希望蓝色位于导航下方:

    解决后的问题图片:

    补加一个div,定位到红色处

    页面平滑跳转代码javascript

    <script>
    $('.learnmore').click(function(){
    
     $('html,body').animate({scrollTop:$('#fir1').offset().top},800);
    });
    
    </script>

    scrollTop设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

    offsetTop获取对象相对于版面或由offsetTop属性指定的父坐标的计算顶端位置

    也可以用如下代码直接确定隐藏的高度,但是需要每次计算高度

     $('html,body').animate({scrollTop:300},800);

    如下是demo全部代码,其中引用了bootstrap.css/js/Jquery
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title></title>
        <link rel="stylesheet" href="css/bootstrap.css">
        <script src="js/jquery.js" type="text/javascript" ></script>
        <style type="text/css" media="screen">
           html,body{padding: 0px;margin: 0px;}
    
        #nav_bg{height: 74px;background:rgba(0,0,0,0.7);}
       .main_button{margin-top:155px ;text-align:center; 278px;height:70px;border:1px solid #fff; border-radius: 8px;margin-left:436px;background-color: #343434;}
        .main_button a{color:#fff;font-size:36px;line-height: 70px; }
            .main_sec {height:579px;}
            .fir1{height:400px; background:rgba(58,255,255,1);padding:50px 0px 0px 50px; }
            .fir2{height:400px; background:rgba(234,234,234,1);padding:50px 0px 0px 50px;}
        </style>
    </head>
    <body>
        <header id="header" class="header">
        <nav class="navbar  navbar-fixed-top jsk-nav" role="navigation" id="nav_bg">
            <div class="container">
    
                <div class="collapse navbar-collapse" >
                    
                    <ul class="nav navbar-nav " id="nav_ul">
                        <li>
                            <a href="#Redir1">博客园</a>
                        </li>
                        <li>
                            <a href="#Redir2"> 博客园</a>
                        </li>
                        <li>
                            <a href="#Redir3"> 博客园 </a>
                        </li>
                        <li>
                            <a href="#Redir4">博客园 </a>
                        </li>
                    </ul>
                </div>  <!-- collapse navbar-collapse -->
            </div>   <!-- container -->
        </nav>
       </header><!-- /header -->
        <section class="main_sec" >
             <div class="container">
       
                <div class="row">
                     <div class="col-md-12  text-center main_button">
                          <a href="#fir1" class="learnmore">Learn More</a>
                     </div>  <!-- col-md-12 -->
                </div>
                
            </div>    
        <div style="background-color: red;height:76px;margin:277px;" id="fir1"></div>
        </section>
        <section class="fir1"   >
            <div class="container" >
                <div class="row" >
                     <div class="col-md-7 " >
                        <p>博客园</p>
                        <p>一个IT技术人员想为IT技术人员们提供一个纯净的技术交流空间,博客园很长时间只有一个不能再简单的博客,有近四年,博客园仅靠一个人几年工作的积蓄在维持,互联网浪潮的此起彼伏,"博客"从耀眼的明星成为平民,这些似乎都与博客园无关,博客园一步一个脚印地走着自己的路,傻傻地对每个用户注册进行人工审批、对首页内容宁缺毋滥、对不合适的广告拒之门外,傻傻地对用户体验关怀备至,对盈利模式冷若冰霜。这样一个不起眼的地方,却吸引了很多IT技术精英,把这里当作自己的网上家园,每天在这里分享着精彩的原创内容,也许他们看重的不是华丽的外表、诱人的虚名,而是纯净、专注、对技术人员的理解。</p>
                     </div>
    
                </div>
            </div> 
        </section>
         <section class="fir2"   >
            <div class="container" >
                <div class="row" >
                     <div class="col-md-7 " >
                        <p>博客园</p>
                        <p>一个IT技术人员想为IT技术人员们提供一个纯净的技术交流空间,博客园很长时间只有一个不能再简单的博客,有近四年,博客园仅靠一个人几年工作的积蓄在维持,互联网浪潮的此起彼伏,"博客"从耀眼的明星成为平民,这些似乎都与博客园无关,博客园一步一个脚印地走着自己的路,傻傻地对每个用户注册进行人工审批、对首页内容宁缺毋滥、对不合适的广告拒之门外,傻傻地对用户体验关怀备至,对盈利模式冷若冰霜。这样一个不起眼的地方,却吸引了很多IT技术精英,把这里当作自己的网上家园,每天在这里分享着精彩的原创内容,也许他们看重的不是华丽的外表、诱人的虚名,而是纯净、专注、对技术人员的理解。</p>
                     </div>
    
                </div>
            </div> 
        </section>
    
    <script>
    $('.learnmore').click(function(){
    
     $('html,body').animate({scrollTop:$('#fir1').offset().top},800);
    });
    
    </script>
    
    </body>
    </html>



  • 相关阅读:
    jquery获取transform里面的值
    H5左滑删除JS插件
    IOS微信浏览器点击事件不起作用问题
    jquery获取不了ajax动态添加的内容的解决办法
    H5跟ios、android交互跟数据对接
    JS图片赖加载例子
    苹果手机浏览器下拉会闪动的解决办法
    jquery.rotate.js可选抽奖次数和中奖内容的转盘抽奖demo
    Html5的localStorage与sessionStorage五种循序渐进的使用方法
    tar 「解/壓」 包
  • 原文地址:https://www.cnblogs.com/a67cm/p/4542668.html
Copyright © 2011-2022 走看看