zoukankan      html  css  js  c++  java
  • 如何用jquery实现点击后跳到页面指定位置

    很多网站都有这种功能,主要为了让用户在长篇大论中比较迅速的跳到自己想要看的内容处,比如bootstrap就有相应的功能。

    介绍一种非常简便可以实现这种功能的方式。

    思路:1.这里要用到点击事件,因为点击处可能数量较多,因此最好用事件代理来处理,可以提高性能。

    2.当点击一个按钮时,能够获取到与他相对应的元素的ID。

    3.通过jquery的offset方法返回top和left两个属性后获取他的top属性。

    4.用animate方法改变html的scrollTop属性,值为上面的top属性值。

    以下是代码:

    <!DOCTYPE html>
    <html>
    <head>
        <title>点击返回指定位置</title>
        <style>
            #nav{
                position: fixed;
                left:0;
                top:10px;
            }
            #nav li{
                width:50px;
                height:30px;
                font:bold 20px/30px simhei;
                text-align: center;
                list-style-type: none;
                background:#333;
                color:#fff;
                margin:10px 0;
                cursor: pointer;s
            }
            #list li{
                width:50%;
                height:300px;
                text-align: center;
                font:bold 100px/300px simhei;
                list-style-type: none;
                background:yellow;
                color:blue;
                margin:50px 200px;
            }
        </style>
    </head>
    <body>
        <ul id="nav">
            <li data-to="go1">1</li>
            <li data-to="go2">2</li>
            <li data-to="go3">3</li>
            <li data-to="go4">4</li>
            <li data-to="go5">5</li>
            <li data-to="go6">6</li>
            <li data-to="go7">7</li>
            <li data-to="go8">8</li>
            <li data-to="go9">9</li>
            <li data-to="go10">10</li>
            <li data-to="go11">11</li>
            <li data-to="go12">12</li>
            <li data-to="go13">13</li>
        </ul>
        <ul id="list">
            <li id="go1">1</li>
            <li id="go2">2</li>
            <li id="go3">3</li>
            <li id="go4">4</li>
            <li id="go5">5</li>
            <li id="go6">6</li>
            <li id="go7">7</li>
            <li id="go8">8</li>
            <li id="go9">9</li>
            <li id="go10">10</li>
            <li id="go11">11</li>
            <li id="go12">12</li>
            <li id="go13">13</li>
        </ul>
        <script src="jquery.min.js"></script>
        <script>
            $('#nav').on('click','li',function(e){
                var target = e.target;
                var id = $(target).data("to");
                $('html,body').animate({scrollTop:$('#'+id).offset().top}, 800);
            });
        </script>
    </body>
    </html>

    页面截图:

    点击左边的数字,页面会跳到数字对应的位置,感觉就像坐电梯一样。

  • 相关阅读:
    【LoadRunner-Vuser Generator】录制脚本设置Recording Options
    【LoadRunner-内部结构】
    【LoadRunner-工作过程】
    单片机上内存管理(重定义malloc free)的实现
    stm32模块的初始化顺序要求的更改设值
    [CAN波形分析] 一次CAN波形分析之旅
    w5500调试小记
    keil mdk中save和load指令,在调试中比较有用,以及hex格式的学习
    PHP启用session后抛 session_start(): open(/var/lib/php/session/sess_... 的解决办法
    brew 方式安装的php,关闭与重启----mac启动,关闭php-fpm方式
  • 原文地址:https://www.cnblogs.com/yxyblogs/p/5050522.html
Copyright © 2011-2022 走看看