zoukankan      html  css  js  c++  java
  • 单个网页内锚链接的跳转

    经常遇到要在一个页面内跳转的需求。

    估计用的最多的方法就是

    <a href="#myId">跳转</a>
    
    <div id="myId">目标</div>

     这种跳转很方便,但是在四处都讲用户体验的今天,还是有些可以改进的地方。

    如何改进呢。就用到jquery。让其有个移动的效果,从“跳转” 缓缓的滚动到“目标”。

    如何实现呢。

    技术点:animate,和scrollTop,和offset().top

    animate:负责动画效果。

    scrollTop():滚动条到顶部的距离。

    offset().top : 目标div “#myID”到页面顶部的偏移量。

    一个粗糙的示例:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>单页内滚动</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <link href="" rel="stylesheet">
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script type="text/javascript">
    	$(function(){
    		$("a").click(function(){
    			//$("body").animate({scrollTop: '300px'}, 1000); //让body滚动条移动300px。
                var myh=$("#mubiao").offset().top;
               console.log(myh);
                $("body").animate({scrollTop:myh+'px'},1000);
    		})
    	})
    </script>
    </head>
    <body>
    	<a href="#mu1biao">跳转到目标</a>
        <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p id="mubiao">#mubaio</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
    
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
         <p>1</p>
        <p>13</p>
        <p>14</p>
        <p>12</p>
        <p>14</p>
        <p>16</p>
        <p>178</p>
        <p>18</p>
    
    </body>
    </html>
    

      

  • 相关阅读:
    一类分治问题
    [POI2005]DWU-Double-row
    [SCOI2007]降雨量
    [POI2007]ODW-Weights(贪心)
    bzoj3427小P的牧场(斜率优化dp)
    UVA10559 Blocks(区间dp)
    LOJ6089 小Y的背包计数问题(根号优化背包)
    [APIO2008]免费道路(生成树)
    bzoj4383(拓扑排序)
    [HEOI2014]平衡(整数划分数)
  • 原文地址:https://www.cnblogs.com/smjia/p/3624799.html
Copyright © 2011-2022 走看看