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

 更新时间:2015年02月22日 09:08:14   投稿:hebedich  
这篇文章主要介绍了使用javascript实现博客园页面右下角返回顶部按钮的思路及源码,非常不错,这里推荐给小伙伴们

博客园中很多博友的博客中在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

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

相关文章

  • js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)

    js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)

    分别针对ie和火狐分别作了对xml文档和xml字符串的解析,考虑到了浏览器的兼容性,至于在ajax环境下解析xml,其实原理是一样的,只不过放在了ajax里,还是要对返回的xml进行解析,感兴趣的朋友可以了解下,或许对你学习js解析xml有所帮助
    2013-02-02
  • 微信小程序获取用户手机号码的详细步骤

    微信小程序获取用户手机号码的详细步骤

    最近改了一个公司项目,新增加了一个获取用户手机号功能,里面用到了关于获取用户信息和用户手机号的功能,下面这篇文章主要给大家介绍了关于微信小程序获取用户手机号码的相关资料,需要的朋友可以参考下
    2022-07-07
  • JavaScript中join()、splice()、slice()和split()函数用法示例

    JavaScript中join()、splice()、slice()和split()函数用法示例

    这篇文章主要介绍了JavaScript中join()、splice()、slice()和split()函数用法,结合实例形式较为详细的分析了join()、splice()、slice()和split()函数的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-08-08
  • 从数组中随机取x条不重复数据的JS代码

    从数组中随机取x条不重复数据的JS代码

    这篇文章主要介绍了从数组中随机取x条不重复数据的JS代码,有需要的朋友可以参考一下
    2013-12-12
  • js切换光标示例代码

    js切换光标示例代码

    切换光标的方法有很多,在本文为大家详细介绍下在js中时如何实现的,感兴趣的朋友不要错过
    2013-10-10
  • uniapp开发APP之强制更新和热更新的实现

    uniapp开发APP之强制更新和热更新的实现

    使用uni-app开发,可将代码编译到iOS、Android、微信小程序等多个平台,升级时也需考虑多平台同步升级,下面这篇文章主要给大家介绍了关于uniapp开发APP之强制更新和热更新的相关资料,需要的朋友可以参考下
    2022-12-12
  • JavaScript 自定义属性 data-*使用介绍

    JavaScript 自定义属性 data-*使用介绍

    Html5规范中规定自定义属性需要添加前缀data-,目的是提供与渲染无关的信息,读取的时候是通过dataset对象,使用”.”来获取属性,需要去掉data-前缀
    2023-06-06
  • JavaScript 判断浏览器类型及版本

    JavaScript 判断浏览器类型及版本

    你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。
    2009-02-02
  • JavaScript学习教程之cookie与webstorage

    JavaScript学习教程之cookie与webstorage

    这篇文章主要给大家介绍了关于JavaScript学习教程之cookie与webstorage的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • js中的数组Array定义与sort方法使用示例

    js中的数组Array定义与sort方法使用示例

    Array定义与sort方法在使用过程中还是比较常见的,下面为大家介绍下Array的定义及sort方法使用示例
    2013-08-08

最新评论