博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
锚链接加动画
阅读量:5986 次
发布时间:2019-06-20

本文共 1386 字,大约阅读时间需要 4 分钟。

回顶部
复制代码

方法一

$('a').click(function(){    $('html, body').animate({        
scrollTop: $($(this).attr("href")).offset().top }, 500); return false;});复制代码

延伸

$(document).on('click', 'a', function(event){        event.preventDefault();  //  阻止默认事件发生        $('html, body').animate({            scrollTop: $( $.attr(this, 'href') ).offset().top        }, 500);    });复制代码

方法二

$('a').click(function(){        $(document).animate({                  /* 点击对象的锚链接*/            scrollTop:$(this.hash).offset().top        },500)        return false;    })复制代码

如果你的目标元素没有ID,也可以用设置name来链接:

$('a').click(function(){        $('html, body').animate({            scrollTop: $('[name="' + $.attr(this, 'href').substr(1) + '"]').offset().top        }, 500);        return false;    });复制代码

为了提高性能,应该缓存该$(‘html,body’)选择器,以便每次单击锚点时都不会运行:

var $root = $('html, body');    $('a').click(function() {        $root.animate({            scrollTop: $( $.attr(this, 'href') ).offset().top        }, 500);        return false;    });复制代码

如果要更新链接地址URL,在animate回调中执行即可

var $root = $('html, body');    $('a').click(function() {        var href = $.attr(this, 'href');        $root.animate({            scrollTop: $(href).offset().top        }, 500, function () {            window.location.hash = href;        });        return false;    });复制代码

转载于:https://juejin.im/post/5cf0ebbef265da1b5f263c23

你可能感兴趣的文章
IOS开发之UITableView1
查看>>
关于ARM的22个常用概念介绍
查看>>
Java学习笔记(29)——Java集合01之总体框架
查看>>
数据库权限设计
查看>>
.net 事件传递
查看>>
require和include区别
查看>>
新安装系统安装QQ不能使用
查看>>
react-navigation 导航栏使用
查看>>
vanish(squid) + HAProxy + nginx + memcached(redis)
查看>>
/etc/inittab文件详解
查看>>
一个较完整的SpringMVC工程的配置
查看>>
JavaScript实现前端路由
查看>>
maven 搭建
查看>>
极速开发,快就是这么任性,你不知道的Jfinal2.0新特性
查看>>
Linux Notes
查看>>
iSCSI安装以及配置
查看>>
It is indirectly referenced from required .class file
查看>>
jenkins 自动化集成测试配置(一)
查看>>
进程和线程之间的关系.
查看>>
总结CString、string、char*
查看>>