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 相关文章推荐
js+div实现图片滚动效果代码
Feb 10 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
javascript设计模式之module(模块)模式
Aug 19 Javascript
Bootstrap CSS组件之输入框组
Dec 17 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
Ajax基础知识详解
Feb 17 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
Mar 04 Javascript
vue.js学习之UI组件开发教程
Jul 03 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
24个解决实际问题的ES6代码片段(小结)
Feb 02 Javascript
Element MessageBox弹框的具体使用
Jul 27 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实现维护文件代码
2007/06/14 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
点球小游戏python脚本
2018/05/22 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
Python中os模块功能与用法详解
2020/02/26 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
德国家具折扣店:POCO
2020/02/28 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
中学教师岗位职责
2013/11/26 职场文书
上班迟到检讨书
2014/01/10 职场文书
活动总结模板
2014/05/09 职场文书
个人事迹材料范文
2014/12/29 职场文书
MySQL基础(一)
2021/04/05 MySQL