原生JavaScript实现页面回到顶部的功能
/*如果想实现点击一个按钮让滚动条回到最顶部的功能,首先可能就会想到它是从底部位置移动到顶部的位置
它是一个运动的过程,只要知道当前位置(current Position)和想要到达的位置(target Position)不就可以啦
只不过以前用的都是元素div啦 img啦等等等
现在不过是把元素的移动换成滚动条的移动
好了 上代码 我尽量写的清晰一点*/
function $(id){return document.getElementById(id);} //通过ID获取元素
function show(obj){obj.style.display="block"}
function hide(obj){obj.style.display="none"}
function scroll(){
/*IE9或者IE9+
pageXOffset和pageYOffset是window对象的一个属性
它的意思是:返回文档在窗口左上角(0,0)水平和垂直方向滚动的像素
其实就是代表一个水平滚动条,一个垂直滚动条。*/
if(window.pageXOffset)
{
return{top:window.pageYOffset}
}
/*标准浏览器,谷歌,火狐啥的
document.compatMode是判断浏览器的渲染方式当文档声明doctype的时候
返回值是CSS1Commpat(标准兼容模式开启)
否则返回的是BackCompact(标准兼容模式关闭)
兼容性无非是就在不同版本的浏览器用不同的代码而已!*/
else if(document.compatMode=="CSS1Compat"){
return{top:document.documentElement.scrollTop}
}
//也可以简写 else return{top:document.body.scrollTop} 这样写不过是为了让大家明白
else if(document.compatMode=="BackCompat"){
return{top:document.body.scrollTop}
}
}
var obj=$("returnTop"),y=0,timer=null;
//然后写一个滚动条监听事件,只要滚动条滚动就可以获得滚动条的top值
window.onscroll=function(){
scroll().top>0?show(obj):hide(obj);//当滚动条的top值大于0的时候obj才显示
y=scroll().top;
}
//点击事件
obj.onclick=function(){
//设置定时器之前清除定时器
clearInterval(timer);
timer=setInterval(function(){
y=y-30;//最终的位置是(0,0) 减少的数字随便设置
window.scrollTo(0,y);//根据参数移动到相应的位置(绝对定位)
if(y<=0){
clearInterval(timer);//清除定时器
}
},1000/60);
}
ps:每当完成一件事情的时候莫名的想唱歌!!!之前太马虎了 有错误没发现 因为直接在博客里写的
现在测试成功!
原生JavaScript实现页面回到顶部的功能的更多相关文章
- 【JavaScript Demo】回到顶部功能实现
随着网站的不断发展,需要展示的内容也越来越丰富,这导致网页上能展示的内容越来越多.当内容堆积影响了用户体验,就需考虑如何提升用户体验.在这一系列的改动中,“回到顶部”的功能成为了一个经典. 1.页面布 ...
- js——页面回到顶部
很久都没有去慕课网学习学习了,刚恰好就看见了一个用的比较多的小例子——页面回到顶部,记得之前自己也是在初学web时,被这个坑了一回,因此今天特地拿来分享分享…… <!DOCTYPE html&g ...
- jQuery实现页面回到顶部功能
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 【JQ+锚标记实现点击页面回到顶部】
前言:今天想写个页面常用到的[点击回到页面顶部或是首页的功能],生活和职场一样,总会有低谷的时候,这个时候咱也别怂.别怂.别怂,说三遍!那都不是事,工作没了,再找呗,就像我上周五,团队解散那天,我是笑 ...
- 页面回到顶部的三种实现(锚标记,js)
一.使用锚标记返回页面顶部 使用HTML锚标记最简单,就是看起来有点不好看,点击后会在地址栏显示这个锚标记,其它的倒没什么. 页面顶部放置: <a name="top" id ...
- JavaScript实现网页回到顶部效果
在浏览网页时,当我们浏览到网页底部,想要立刻回到网页顶部时,这时候一般网页会提供一个回到顶部的按钮来提升用户体验,以下代码实现了该功能 HTML代码: <p id="back-top& ...
- jQuery实现“回到顶部”按钮功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQuery-使页面回到顶部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQuery学习之路(7)- 用原生JavaScript实现jQuery的某些简单功能
▓▓▓▓▓▓ 大致介绍 学习了妙味,用原生的JavaScript实现jQuery中的某些部分功能 定义自己的函数库lQuery ▓▓▓▓▓▓ $()选择器的实现 jQuery是面向对象的,所以自己编写 ...
随机推荐
- ngrx/store effects 使用总结1:计数器
本教程案例github:https://github.com/axel10/ngrx_demo-counter-and-list angular2+ 的学习成本应该是三大框架中最高的一个,教程及案例稀 ...
- 免插件为WordPress文章中标签添加内链
给文章标签添加内链,意思就是说,如果你文章中出现了和标签一样的文字,那么这个文字就会自动成为标签链接,你点击这个链接就会查看到所有含有该标签的文章,这个能方便用户浏览,据说还利于SEO.下面说说方法: ...
- New Windows 10 SDK - Toast Notification
概述 Toast Notification 在 UWP App 中有很重要的作用,能够很大程度上增强 App 和用户之间的沟通,比如运营推广活动.版本更新.提醒类任务提示等等.Toast Notifi ...
- selenium 断言与验证
断言和验证都是判断结果是否跟预期效果是否一致,不一致的情况下,断言会导致测试用例直接失败,程序不会继续执行:验证的测试用例会继续执行. 断言的4种模式+5种手段: assert 断言失败时,该测试将终 ...
- 智能合约语言 Solidity 教程系列1 - 类型介绍
现在的Solidity中文文档,要么翻译的太烂,要么太旧,决定重新翻译下.尤其点名批评极客学院名为<Solidity官方文档中文版>的翻译,机器翻译的都比它好,大家还是别看了. 写在前面 ...
- 常用css样式颜色值: 64位真彩和256位值
1. background-color: #eee; 2. background-color: #797979; 3. background-color: #007aff; 继续更新中
- Linux远程连接工具
Linux远程连接可以使用SecureCRT工具完成 SecureCRT下载地址 修改虚拟机中的网络适配器---改为桥接模式 一,配置:在Linux终端上获取IP地址----ifconfig 二,同时 ...
- 兄弟连学Python-Mysql的基础知识
##MySQL数据库基础知识 1.数据库系统(database system) 数据库系统是计算机系统中一种专门管理数组资源的系统,数据库存储的是一组或多组经过处理后的数据,管理这个数据库的软件成为数 ...
- ASP.NET MVC编程——缓存
Web缓存分为服务端缓存和客户端缓存. 1 服务端缓存 1.1请求域内的缓存:HttpContext.Items 类型: HttpContext.Items的类型为IDictionary,且键和值都是 ...
- 【Python】 迭代器&生成器
迭代器 任何一个类,只要其实现了__iter__方法,就算是一个可迭代对象.可迭代对象的__iter__方法返回的对象是迭代器,迭代器类需要实现next方法.一般来说,实现了__iter__方法的类肯 ...