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>
    

      

  • 相关阅读:
    [转]责任链模式
    spring中常见注解描述
    [转]外观模式
    [转]策略模式
    分布式事务实践
    SpringBoot入门
    服务器性能调优
    kvm qemu内幕介绍
    xen 保存快照的实现之 —— device model 状态保存
    xen hypercall 的应用层实现
  • 原文地址:https://www.cnblogs.com/smjia/p/3624799.html
Copyright © 2011-2022 走看看