页面锚点平滑滚动jQuery实现

 锚点链接默认都是直接跳转,缺乏平滑移动的效果,这段jq代码可以放在jq文件末尾作为函数调用,使得锚点移动变得平滑

jQuery.fn.anchorGoWhere = function(options){
     var obj = jQuery(this);
     var defaults = {target:1, timer:1000};
     var o = jQuery.extend(defaults,options);
     obj.each(function(i){
         jQuery(obj[i]).click(function(){
             var _rel = jQuery(this).attr("href").substr(1);
             switch(o.target){
                 case 1: 
                     var _targetTop = jQuery("#"+_rel).offset().top;
                     jQuery("html,body").animate({scrollTop:_targetTop},o.timer);
                     break;
                 case 2:
                     var _targetLeft = jQuery("#"+_rel).offset().left;
                     jQuery("html,body").animate({scrollLeft:_targetLeft},o.timer);
                     break;
             }
             return false;
         });                  
     });
 };

 

调用的时候只需要在对应的链接a标签中执行该方法即可

<a href="#one" class="link">aaa</a>


$(function(){
    $('.link').anchorGoWhere();
})

关于参数该方法有两个参数:target和timer

target为1是默认值,表示上下滑动,2是指左右滑动

timer是滑动速度,单位是毫秒,默认为1000

对应写法如下:

$(function(){
    $('.link').anchorGoWhere({target:2, timer:3000});
})

 

转载于:https://my.oschina.net/cnzxzc/blog/684132

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值