Jquery scrollTop animate 實現動態滾動到頁面頂部

這個方法之前都是用的錨點實現的,但是效果僵硬,動感不足!

之後參考了一些網站,發現都是用的js,於是自己想到用jquery 來做一個插件也來實現以下這個小功能。

         $.fn.backTop = function (options) {/*back & scroll to top */
            var defaults = {
                speed : 1000 //滾動到頂部的速度設置 單位是毫秒
                ,mouseEvent: "click"//事件觸發類型
                ,scrollTop:600 //配置滾動多少距離後出現“top”按鈕
                ,callback:function() {//animate(css,speed,callback);中的callback
                    alert(1);
                }
                ,initScroll: function () {
                    $(window).bind('scroll',function () {
                        var top = $(this).scrollTop();
                        if(top>=options.scrollTop) {//配置滾動多少距離後出現“到頂部”按鈕
                            $("#backTop").fadeIn(500);return false;
                        } else {
                            $("#backTop").fadeOut(500);return false;
                        }
                    })
                }
            }
            ,options = $.extend(defaults,options);
            options.initScroll();//實現滾動到一定文職自動出現“到頂部”按鈕
            return this.each(function () {
                var $this = $(this);
                $this.bind(options.mouseEvent,function(e){
                    if(/webkit/.test(navigator.userAgent.toLowerCase())){
                        var dom = $("body");//如果是webkit內核的瀏覽器,滾動條是body
                    } else {
                        var dom = $("html");//否則滾動條是html
                    }
                    dom.animate({scrollTop:"0"},options.speed,function () {
                        options.callback();
                    });
                    e.stopPropagation();
                })
            })
        }

調用方法:

$("#back-top").backTop({
    "scrollTop": 600
    ,"speed":600
    ,callback:function () {
         /*回到頂部後的處理函數*/
    }
});

 

 

转载于:https://www.cnblogs.com/Zell-Dinch/p/4257695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值