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 相关文章推荐
prototype 源码中文说明之 prototype.js
Sep 22 Javascript
关于jquery css的使用介绍
Apr 18 Javascript
js history对象简单实现返回和前进
Oct 30 Javascript
网站接入QQ登录的两种方法
Jul 22 Javascript
ECMAScript 5中的属性描述符详解
Mar 02 Javascript
使用js实现的简单拖拽效果
Mar 18 Javascript
解析微信JS-SDK配置授权,实现分享接口
Dec 09 Javascript
js实现移动端编辑添加地址【模仿京东】
Apr 28 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
Apr 22 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
Nov 25 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
vuex刷新后数据丢失的解决方法
Oct 18 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
当海贼王变成JOJO风
2020/03/02 日漫
php 静态变量的初始化
2009/11/15 PHP
php实现插入排序
2015/03/29 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
python+pyqt实现12306图片验证效果
2017/10/25 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
Python subprocess库的使用详解
2018/10/26 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
python中pivot()函数基础知识点
2021/01/03 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
sort命令的作用和用法
2012/11/04 面试题
几个Shell Script面试题
2012/08/31 面试题
国际贸易毕业生求职信范文
2014/02/21 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
降价通知函
2015/04/23 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python