1. 程式人生 > >jquery編寫回到頂部外掛

jquery編寫回到頂部外掛

最近需要寫一個回到頂部的小按鈕讓使用者來點選回到頂部,寫了一個很簡單的小外掛。

jquery編寫外掛一般就是通過$.extend()來擴充套件jquery,還有就是通過$.fn新增新的jquery方法、還有就是通過$.widget()應用jquery UI的部件工廠方式建立。

這裡我就用得到$.fn來向jquery新增新的方法。下面就是我的程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>回到頂部</title>
    <style type="text/css">
        * {
            margin: 0px ;
            padding: 0px ;
        }
        .box {
            height: 300vh;
            width: 100vw;
            background: rgba(0, 0, 0, 0.5)
        }
        .toTop {
            color: #000;
            background: #fff;
            position: fixed;
            bottom: 5%;
            right: 5%;
            width: 80px;
            height: 40px;
            line-height: 40px;
            text-align: center;
            cursor: pointer;
            display: none;
        }
    </style>
</head>
<body>
<div class="box">
    這是頂部
</div>
<div class="toTop">點擊向上</div>
<script src="http://www.jq22.com/jquery/jquery-2.1.1.js"></script>
<script type="text/javascript">
    $(function () {
        $.fn.toTop = function (param) {
            var checkTop = function () {  //檢查頁面距離頂部位置的函式
                if ($(document).scrollTop() > 50) {
                    $('.toTop').fadeIn(param.showSpeed)
                } else if ($(document).scrollTop() <= 50) {
                    $('.toTop').fadeOut(param.showSpeed)
                }
            };
            checkTop();
            $(document).scroll(function () {
                checkTop();
            });
            $(document).on('click', param.topClass, function () {
                $('body,html').animate({
                    scrollTop: 0
                }, param.goTopSpeed);
            });
        };
        $('.toTop').toTop({
            showSpeed: 500,//向上按鈕出現的速度
            goTopSpeed: 500,//到頂部的時間
            topClass:'.toTop'//按鈕的class
        })
    });
</script>
</body>
</html>

這樣子一個回到頂部簡單的小外掛就寫好了。可以把js部分拿到單獨的js檔案裡面,用到就引入呼叫函式toTop。