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>

    页面截图:

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

  • 相关阅读:
    通过java代码获取jvm信息和系统信息
    java cp与java jar的区别
    vue下实现WebRTC
    MANIFEST.MF文件详解
    element 前端排序 与 后端排序
    JAVA获取CPUID、主板序列号、硬盘序列号、MAC地址(自己验证过)
    PHP常用代码大全
    程序员从初级到中级10个秘诀
    移动平台还有哪些创业机会
    程序员招聘:如何识别真正的程序员
  • 原文地址:https://www.cnblogs.com/yxyblogs/p/5050522.html
Copyright © 2011-2022 走看看