javascript实现博客园页面右下角返回顶部按钮


Posted in Javascript onFebruary 22, 2015

博客园中很多博友的博客中在Page右下角都有个图标,不论屏幕怎么拉伸,都始终停留在右下角。点击后页面置顶。后面想想写一个Demo来实现这种效果吧。

     一. 图标右下角固定.

  1.SS 里面提供了4中布局方式. 其中fixed表示绝对定位元素。所以我们选择使用fixed来实现图标固定.

absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

        2.定代码如下。Button按钮将始终置于屏幕右下角。不论是拖动上下精度条还是拉伸浏览器窗口大小.

#myTopBtn{

        bottom: 5px;

        right: 5px;

        position:fixed;

    }

二. 实现点击后回到页面最上角.

1. 要想回到屏幕最上角就得小了解如何通过JavaScript还操作拖动条的上下移动.JavaScript提供了scrollby和scroll方法.

window.scrollBy(0,-30)  //屏幕上移30像素点

window.scroll(0,0) // 屏幕回到最上角

2. 上面已经提到了如何移动拖动条,那么如何实现按照一定的速度移动到page页顶部呢。那么就要借助setInterval和clearInterval方法. 实现没10毫秒屏幕上移30个像素点。

<body>

  <div id="myDiv" >

  </div>

  <button id="myTopBtn" onclick="TopFunc()">To Top</button>

</body>
 
var myVar;

    function TopFunc(){

        myVar=setInterval(EachScrollBy,10);    

    }
    function EachScrollBy(eachHeight){

        if(document.documentElement.scrollTop<=0){

            clearInterval(myVar);

        }else{

            window.scrollBy(0,-30);

        }

    }

        三. 扩展

实现了置顶按钮。那么我们如何实现点击按钮屏幕置底呢.其实原理差不多,这里就不写demo了。给大家提供一些属性做参考.

      网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight

网页可见区域宽:document.body.offsetWidth (包括边线的宽)

网页可见区域高:document.body.offsetHeight (包括边线的宽)

网页正文全文宽:document.body.scrollWidth

网页正文全文高:document.body.scrollHeight

网页被卷去的高:document.body.scrollTop

网页被卷去的左:document.body.scrollLeft

网页正文部分上:window.screenTop

网页正文部分左:window.screenLeft

屏幕分辨率的高:window.screen.height

屏幕分辨率的宽:window.screen.width

屏幕可用工作区高度:window.screen.availHeight

屏幕可用工作区宽度:window.screen.availWidth

以上就是本文的全部内容了,希望爱玩博客的童鞋们喜欢。

Javascript 相关文章推荐
jQuery 添加/移除CSS类实现代码
Feb 11 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
js 通用订单代码
Dec 23 Javascript
javascript原型链继承用法实例分析
Jan 28 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
Nov 29 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
javascript表单正则应用
Feb 04 Javascript
JS中Swiper的使用和轮播图效果
Aug 11 Javascript
vue项目引入Iconfont图标库的教程图解
Oct 24 Javascript
ES6的异步操作之promise用法和async函数的具体使用
Dec 06 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 #Javascript
js实现图片和链接文字同步切换特效的方法
Feb 20 #Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 #Javascript
JavaScript获取文本框内选中文本的方法
Feb 20 #Javascript
jQuery常用数据处理方法小结
Feb 20 #Javascript
jQuery数据缓存用法分析
Feb 20 #Javascript
jQuery性能优化技巧分析
Feb 20 #Javascript
You might like
php中使用url传递数组的方法
2015/02/11 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
php post换行的方法
2020/02/03 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
JavaScript Konami Code 实现代码
2009/07/29 Javascript
基于JQuery的日期联动实现代码
2011/02/24 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
深入探讨前端框架react
2015/12/09 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
Vue 过滤器filters及基本用法
2017/12/26 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
python中argparse模块用法实例详解
2015/06/03 Python
python实现折半查找和归并排序算法
2017/04/14 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
职专应届生求职信
2013/11/16 职场文书
怎样填写就业意向
2014/04/02 职场文书
村长贪污检举信
2014/04/04 职场文书
论文指导教师评语
2014/04/28 职场文书
市场营销调查计划书
2014/05/02 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
Oracle 死锁的检测查询及处理
2021/09/25 Oracle
详解jQuery的核心函数和事件处理
2022/02/18 jQuery