JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)


Posted in Javascript onFebruary 15, 2010

首先给这些‘返回页首'的链接加上个Class:
<a href="#" class="backtotop" target="_self">返回页首↑</a>
<!--把所有返回页首的链接加上class,例如:backtotop-->然后加入下面jQuery代码,你可以把这行代码放在</body>前,或者其它位置。当然你还要在<head>里包含jQuery库文件。(

jQuery(document).ready(function() { 
jQuery('.backtotop').click(function(){ 
jQuery('html').animate({scrollTop:0}, 'slow'); 
}

就这么简单?基本上是!但是使用jQuery('html')在Safari和Chrome(记得在什么地方看到过:chrome使用的是safari的核)下选择不到我们要的对象。好在在这两种浏览器下,我们可以使用jQuery('body')来替代。因此为了让代码的兼容性更强,我们可以加入对浏览器的判断,这里使用到jQuery提供jQuery.browser的方法。注意: 在jQuery1.3里,这种方法已经不建议使用。jQuery1.3新增jQuery.support的方法,用于展示不同浏览器各自特性和bug的属性集合,也就是说jQuery1.3不在建议对浏览器进行判断,而建议直接对某个特性进行判断。但是我不知道这个选择器的问题应该属于哪个特性,因此,我还是使用旧的方法。(jQuery.browser的方法在jQuery1.3里还是支持的)
jQuery(document).ready(function() { 
jQuery('.backtotop').click(function(){ 
if(jQuery.browser.safari) {//这里判断浏览器是否为safari 
jQuery('body').animate({scrollTop:0}, 'slow'); 
return false;//返回false可以避免在原链接后加上# 
} 
else{ 
jQuery('html').animate({scrollTop:0}, 1500); 
return false; 
} 
}); 
});

这上述代码里,我用到jQuery('body').animate({scrollTop:0}, 'slow'); 我们可以根据实际需要更改卷页的速度,你可以用'slow'、'fast'、或者用具体数字,例如1000(代表一秒,注意用具体数字时不用加单引号)。 另外,{scrollTop:0}表示返回页首,如果你只是想让页面卷到你要的特定位置,我们可以使用标签(ID)的方法,例如:要移到某个ID为'myID'的区域(<div id="myID">....</div>)顶部,我们可以使用类似的方法,但是要先计算这个区域距离页首的距离,代码如下:
jQuery('body').animate({scrollTop:jQuery('#myID').offset().top}, 'slow'); 
//jQuery('#myID').offset().top可以计算ID为myID的区域里页首的距离
Javascript 相关文章推荐
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
3款实用的在线JS代码工具(国外)
Mar 15 Javascript
两种方法实现文本框输入内容提示消失
Mar 17 Javascript
使用javascipt---实现二分查找法
Apr 10 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
javascript 实现字符串反转的三种方法
Nov 23 Javascript
了不起的node.js读书笔记之node的学习总结
Dec 22 Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 Javascript
JavaScript 随机验证码的生成实例代码
Sep 22 Javascript
非常优秀的JS图片轮播插件Swiper的用法
Jan 03 Javascript
Vue2.0实现购物车功能
Jun 05 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
jQuery 处理表单元素的代码
Feb 15 #Javascript
jQuery 树形结构的选择器
Feb 15 #Javascript
jQuery 处理网页内容的实现代码
Feb 15 #Javascript
JS getMonth()日期函数的值域是0-11
Feb 15 #Javascript
不同浏览器对回车提交表单的处理办法
Feb 13 #Javascript
Jquery iframe内部出滚动条
Feb 11 #Javascript
jquery 问答知识整理
Feb 11 #Javascript
You might like
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
windows xp下安装pear
2006/12/02 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
javascript some()函数用法详解
2014/11/13 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
vue router demo详解
2017/10/13 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
Python中int()函数的用法浅析
2017/10/17 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
Python实现一个优先级队列的方法
2020/07/31 Python
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
求高于平均分的学生学号及成绩
2016/09/01 面试题
Linux面试题LINUX系统类
2015/11/25 面试题
心得体会范文
2014/01/04 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书