• 再学习js的onscroll、scrollTop、scrollHeight及window.scroll等方法


    1、onscroll


    解释:当元素的滚动条滚动时触发的事件。

    onscroll事件貌似任何实体元素都可以绑定,这里的实体元素包括DOM元素、window元素、document元素。

    用法即:element.onscroll=function(){};

    需要注意的是,滚动条一定要出现,而且滚动条是属于这元素的,例如:

    1    <div id="wrap" style="height:100px;overflow:auto;">
    2      <div id="inner" style="height:200px;">content</div>
    3    </div>

    因为外层wrap的高度小于内层inner的高度,所以当设置overflow:auto时会出现滚动条,当拖动滚动条时就会触发wrap的onscroll事件,而不是inner的onscroll事件,即这滚动条属于wrap而不是属于inner,明白这点十分重要,对下面理解的scrollTop、scrollHeight一样道理。


    2、scrollTop

     

    解释:元素滚动条内的顶部隐藏部分的高度。

    scrollTop属性只有DOM元素才有,window/document没有。

    用法1:获取值 var top = element.scrollTop;//返回数字,单位像素

    用法2:设置值 element.scrollTop = 200;

     

    对上面的例子来说,控制滚动条的位置是wrap.scrollTop=xx;而不是inner.scrollTop,道理同上。

    兼容性问题:获得整个文档scrollTop,IE是document.documentElement.scrollTop,FF/CH则是document.body.scrollTop.

     

    3、scrollHeight

     

    解释:元素滚动条内的内容高度。

    scrollHeight同scrollTop属性一样,只有DOM元素才有,window/document没有。

    不同的是scrollHeight是只读,不可设置。

    兼容性问题:获取整个文档scrollHeight,IE/FF/CH都可以通过document.documentElement.scrollHeight或document.body.scrollHeight获得。

     

    此外还有scrollLeft,scrollWidth,道理是一样的。

     

    4、关于window.scroll(),window.scrollBy(),window.scrollTo()

     

    这3个是全局函数,最新的IE/FF/CH都支持。

    window.scroll(x,y)是让window滚动条滚动到那个x,y坐标。//x是水平坐标,y是垂直坐标。

    window.scrollBy(-x,-y)是让window滚动条相对滚动到某个坐标,- 10即相对向左/向上滚动10像素。

    window.scrollTo(x,y)和window.scroll(x,y)一样。

     

    这3个函数在网上看用的不多,可能在IE/FF/CH各个版本支持不同吧,建议设置element.scrollTop属性的方法替代。

  • 相关阅读:
    【HTML】使用css3和html给网站添加上春节灯笼特效
    【CSS】学习笔记2 字体设置
    【CSS】学习笔记3 段落设置
    【CSS】学习笔记1 使用CSS样式表
    正则
    图片懒加载
    uni-app-组件
    uni-app-condition(条件)启动模式
    uni-app-页面
    uni-app项目目录和开发规范
  • 原文地址:https://www.cnblogs.com/woohblog/p/2771481.html
Copyright © 2020-2023  润新知