如何用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">1li>
        <li data-to="go2">2li>
        <li data-to="go3">3li>
        <li data-to="go4">4li>
        <li data-to="go5">5li>
        <li data-to="go6">6li>
        <li data-to="go7">7li>
        <li data-to="go8">8li>
        <li data-to="go9">9li>
        <li data-to="go10">10li>
        <li data-to="go11">11li>
        <li data-to="go12">12li>
        <li data-to="go13">13li>
    ul>
    <ul id="list">
        <li id="go1">1li>
        <li id="go2">2li>
        <li id="go3">3li>
        <li id="go4">4li>
        <li id="go5">5li>
        <li id="go6">6li>
        <li id="go7">7li>
        <li id="go8">8li>
        <li id="go9">9li>
        <li id="go10">10li>
        <li id="go11">11li>
        <li id="go12">12li>
        <li id="go13">13li>
    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>

页面截图:

如何用jquery实现点击后跳到页面指定位置_第1张图片

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

转载于:https://www.cnblogs.com/yxyblogs/p/5050522.html

你可能感兴趣的:(如何用jquery实现点击后跳到页面指定位置)