当前位置:   article > 正文

元素可视区client 元素滚动scroll_把一个元素展示在视图里面的scroll方法

把一个元素展示在视图里面的scroll方法

目录

一、元素可视区client

1、client概述

2、获取client代码

二、元素滚动scroll

1、scroll概述

2、固定侧边栏

 三、三大系列总结

1、三大系列大小对比

2、主要用法


一、元素可视区client

1、client概述

client 翻译过来就是客户端,我们使用 client 系列的相关属性来获取元素可视区的相关信息。通过
client 系列 的相关属性可以动态的得到该元素的边框大小、元素大小等。

          

属性

说明

clientLeft

返回元素左边框的大小

clientTop

返回元素上边框的大小

clientWidth

返回自身的宽度(包含padding),内容区域的宽度(不含边框)。注意返回数值不带单位

clientHeight

返回自身的高度(包含padding),内容区域的高度(不含边框)。注意返回数值不带单位

2、获取client代码

  1. //获取元素client宽高
  2. <div>我是内容...</div>
  3. <style>...(省略了样式代码)</style>
  4. <script>
  5. var div = document.querySelector('div');
  6. console.log(div.clientHeight);console.log(div.clientTop);
  7. console.log(div.clientLeft);
  8. </script>

                                  

二、元素滚动scroll

1、scroll概述

scroll含义:scroll的含义是滚动,使用scroll系列的相关属性可以动态地获取该元素的滚动距离、大小等。

属性

说明

scrollLeft

返回被卷去的左侧距离,返回数值不带单位

scrollTop

返回被卷去的上方距离,返回数值不带单位

scrollWidth

返回自身的宽度,不含边框。注意返回数值不带单位

scrollHeight

返回自身的高度,不含边框。注意返回数值不带单位

2、固定侧边栏

案例分析 :

  1. //HTML结构代码
  2. <div class="header w">头部区域</div>
  3. <div class="banner w">banner 区域</div>
  4. <div class="main w">主体区域</div>
  5. <div class="slider-bar">
  6. <span class="goBack">返回顶部</span>
  7. </div>
  1. //js功能代码
  2. //1.获取元素
  3. var header = document.querySelector('.header');
  4. var banner = document.querySelector('.banner');
  5. var slider = document.querySelector('.slider-bar');
  6. var goBack = document.querySelector('.goBack');
  7. //2.给goback注册click事件
  8. goBack.addEventListener('click',function(){
  9. window.scroll(0,0)
  10. })
  11. //3.给整个页面绑定scrool事件
  12. document.addEventListener('scroll',function(){
  13. //3.1获取页面顶部和左侧卷起的距离
  14. slider.style.top=window.pageYOffset;
  15. if(window.pageYOffset>(header.scrollHeight+banner.scrollHeight+30)){
  16. goBack.style.display = 'block';
  17. slider.style.display='block';
  18. slider.style.position='fixed';
  19. slider.style.left='85%';
  20. }
  21. else{
  22. slider.position='absolute';
  23. slider.style.left='85%';
  24. slider.style.top =( header.scrollHeight + banner.scrollHeight + 30)+'px';
  25. goBack.style.display='none';
  26. }
  27. })

 

  1. // css样式代码
  2. <style>
  3. .w {
  4. width: 70%;
  5. margin: 0 auto;
  6. margin-top: 10px;
  7. }
  8. .header {
  9. height: 100px;
  10. background-color: orange;
  11. }
  12. .banner {
  13. height: 100px;
  14. background-color: paleturquoise;
  15. }
  16. .main {
  17. height: 1267px;
  18. background-color: rgb(68, 236, 132);
  19. }
  20. .slider-bar {
  21. width: 70px;
  22. height: 200px;
  23. background-color: rgb(236, 236, 81);
  24. position: absolute;
  25. left: 85%;
  26. top: 330px;
  27. }
  28. .goBack {
  29. display: none;
  30. position: absolute;
  31. bottom: 0;
  32. }
  33. </style>

 案例效果查看:刷新浏览器页面,当页面移动到主体部分时,浏览器预览效果。

 三、三大系列总结

1、三大系列大小对比

三大系列大小对比作用
element.offsetWidth返回自身包括padding、边框、内容区的宽度,返回数值不带单位
element.clienttWidth返回自身包括padding、内容区的宽度,不含边框,返回数值不带单位
element.scrollWidth返回自身的实际宽度、不含边框、返回数值不带单位

 

2、主要用法

1.  offset系列 经常用于获得元素位置 offsetLeft offsetTop

2.  client 经常用于获取元素大小 clientWidth clientHeight

3.  scroll 经常用于获取滚动距离 scrollTop scrollLeft

4.  注意页面滚动的距离通过 window.pageXOffset 获

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/295362
推荐阅读
相关标签
  

闽ICP备14008679号