码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 35.滚动 scroll


    目录

    1  返回自身宽度 element.scrollWidth

    2  返回自身高度 element.scrollHeight

    3  sroll返回自身尺寸与client返回自身尺寸的区别

    4  被卷去的上侧距离 element.scrollTop

    5  被卷去的左侧距离 element.scrollLeft

    6  模仿淘宝侧边栏

    7  页面被卷去的上侧距离 window.pageYOffset

    8  页面被卷去的左侧距离 window.pageXOffset


    scroll与滚动条相关,主要有下面几个属性

    与其他大小属性的区别如下

    1  返回自身宽度 element.scrollWidth

    scrollWidth返回的数值中包含padding,但不包含border与margin。scrollWidth返回的结果没有单位

    • 123 = 103 + 10 * 2

    2  返回自身高度 element.scrollHeight

    scrollHeight返回的数值中包含padding,但不包含border与margin。scrollHeight返回的结果没有单位

    • 186 = 166 + 10 * 2

    3  sroll返回自身尺寸与client返回自身尺寸的区别

    盒子中的内容超出了盒子本身尺寸的时候,scroll是按照内容走的,client不管内容只按照盒子原来的尺寸走

    宽度如果超出和高度一样

    4  被卷去的上侧距离 element.scrollTop

    下面图的红色框子是div盒子的可视区域

    把滚动条搞出来后,搞一个按钮进行监测

    没滚动的时候是0

    5  被卷去的左侧距离 element.scrollLeft

    我们将div中的内容设置为不换行,然后搞个按钮监测

    6  模仿淘宝侧边栏

    打开之后的侧边栏是这样的

    当滚到一定程度后会增加一个会顶部

    代码是这样的

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. <style>
    9. body {
    10. height:3000px;
    11. background-color: rgb(232,226,224);
    12. }
    13. .alongside {
    14. position: fixed;
    15. top: 50%;
    16. right:0px;
    17. transform: translate(0,-50%);
    18. width:80px;
    19. background-color: white;
    20. border-radius: 20px 0px 0px 20px;
    21. }
    22. div {
    23. height:60px;
    24. display:flex;
    25. flex-direction: column;
    26. align-items: center;
    27. font-size: 12px;
    28. padding:5px;
    29. }
    30. .return_top {
    31. display:none;
    32. }
    33. style>
    34. head>
    35. <body>
    36. <section class="alongside">
    37. <div>
    38. <img src="images/官方客服.png" alt="">
    39. <span>官方客服span>
    40. div>
    41. <div>
    42. <img src="images/反馈.png" alt="">
    43. <span>反馈span>
    44. div>
    45. <div>
    46. <img src="images/举报.png" alt="">
    47. <span>举报span>
    48. div>
    49. <div class="return_top">
    50. <img src="images/回顶部.png" alt="">
    51. <span>回顶部span>
    52. div>
    53. section>
    54. body>
    55. <script>
    56. activate = document.querySelector('.activate')
    57. return_top = document.querySelector('.return_top')
    58. document.body.onscroll = function() {
    59. console.log(document.documentElement.scrollTop)
    60. if (document.documentElement.scrollTop > 500) {
    61. return_top.style.display = 'flex';
    62. }
    63. else {
    64. return_top.style.display = 'none';
    65. }
    66. }
    67. script>
    68. html>

    打开后是这样的

    滚动到一定的位置回出现回顶部

    再滚到上面,回顶部消失

    上面代码中使用了 document.documentElement,scrollTop 来获取页面滚动的上侧距离,除此之外还有另外两种方式

    DTD是我们html最开始的这句话

    可以搞一个照顾兼容性的函数,不过我觉得基本不会用到

    7  页面被卷去的上侧距离 window.pageYOffset

    8  页面被卷去的左侧距离 window.pageXOffset

  • 相关阅读:
    【问题记录与解决】jupyter notebook 无法重命名,无法运行测试代码 || jupyter notebook 中常用的两个快捷键。
    vue对于低版本浏览器兼容问题
    C++学习之list的实现
    通过实例学C#之序列化与反序列化XmlSerializer类
    Canvas 图片上传,JAVA后端使用 MultipartFile 接收
    bug的生命周期都有那些阶段
    G-Mixup: Graph Data Augmentation for Graph Classification
    【C++】vector的模拟实现【完整版】
    React之引入css的方式
    Helm chart仓库操作
  • 原文地址:https://blog.csdn.net/potato123232/article/details/125992859
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号