首页 > 其他分享 >原生js实现下滑到当前模块进度条填充

原生js实现下滑到当前模块进度条填充

时间:2024-08-22 15:56:02浏览次数:9  
标签:bar 填充 进度条 color js width progress height margin

<div style="height: 1500px;">

</div>
<div class="progress-container">
    <div class="progress-bar" data-progress="90%"><p class="progress-text">Google Ads在Google搜索引擎上覆盖超过90%的互联网用户。</p></div>
    <p class="progress-tag">90%</p>
    <div class="progress-bar" data-progress="60%"><p class="progress-text">超过2/3的潜在用户会被精准定位的Google Ads付费广告所吸引,点进进入。</p></div>
    <p class="progress-tag">2/3</p>
    <div class="progress-bar" data-progress="90%"><p class="progress-text">覆盖全球超过200万个网站和应用,可触及到网上90%的互联网用户。</p></div>
    <p class="progress-tag">200w+</p>
  </div>
  
  <style>
    .progress-container {
  margin: 50px 0;
}

.progress-bar {
  width: 80%;
  height: 80px;
  background-color: #ffffff;
  border-radius: 5px;
  /* overflow: hidden; */
  position: relative;
  margin-bottom: 20px;
  display: inline-block;
  margin-right: 30px;
}

.progress-bar::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: var(--progress-width, 0); /* 使用CSS变量 */
  background-color: #000000;
  transition: width 2s ease;
  border-radius: 5px 0 0 5px;
}
.progress-text{
    position: relative;
    z-index: 1;
    margin: 0;
    line-height: 30px;
    font-size: 16px;
    white-space: normal;
    color: #ffffff;
    width: 55%;
    text-align: left;
    margin-top: 10px;
    margin-left: 15px;
}
.progress-tag{
    width: 80px;
    height: 80px;
    padding: 20px;
    font-weight: 700;
    display: inline-block;
    margin: 0;
    border-radius: 50%;
    color: #ffffff;
    background-color: #000000;
    text-align: center;
    line-height: 40px;
    margin-bottom: 20px;
}

@media screen and (max-width:768px) {
    .progress-container {
        margin: 50px 10px;
    }
    .progress-bar {
        width: 68%;
        margin-right: 20px;
    }
    .progress-text {
        line-height: 18px;
        font-size: 12px;
        width: 55%;
    }
    .google-six-content ul li h3 {
        width: 150px;
        height: 150px;
        line-height: 130px;
    }
}


  </style>

  <script>
document.addEventListener('DOMContentLoaded', function() {
  var progressBars = document.querySelectorAll('.progress-bar');

  document.addEventListener('scroll', function() {
    var windowHeight = window.innerHeight;
  
    progressBars.forEach(function(bar) {
      var rect = bar.getBoundingClientRect();
      
      if (rect.top < windowHeight) {
        var progress = bar.getAttribute('data-progress');
        bar.style.setProperty('--progress-width', progress);
      }
    });
  });
});



  </script>

标签:bar,填充,进度条,color,js,width,progress,height,margin
From: https://blog.csdn.net/p_s_p/article/details/141399781

相关文章

  • 基于ssm+vue.js的校园二手交易平台附带文章和源代码设计说明文档ppt
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我成功案例代码参考数据库参考源码获取前言......
  • 02-HTML&JS相关练习
    1、使用html写一个网页,要求满足以下条件:(1)网页中含有任意一张图片,图片路径使用绝对路径(这里绝对路径无法识别故使用相对路径),鼠标悬停在图片时出现“马哥教育”文本,且点击图片可跳转至马哥教育官方页面(2)网页中包含账号、密码登录,且账号提前定义好是admin且不可更改,输入密码时......
  • 基于 FastAPI+Vue.js 构建的食谱管理平台
    1.2自托管的食谱管理平台:Mealie主语言:Python,Star:6.1k,周增长:400该项目是基于FastAPI+Vue.js构建的食谱管理平台。它提供了简洁友好的界面,用户可以在线编辑和管理食谱,并通过简单的操作从多种来源(URL)导入食谱内容,支持膳食计划、购物清单、多语言、API集成和Docker部署等功能......
  • Node.js获取操作系统指标和参数
    constos=require('os');console.log("操作系统临时文件夹os.tmpdir():"+os.tmpdir());console.log("CPU的字节序os.endianness():"+os.endianness());console.log("操作系统主机名os.hostname():"+os.hostname());console.log("操作......
  • JSP基于JSP的二手车交易管理系统40fjs--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,卖家,车辆类型,车辆信息,预定信息,取消信息,反馈信息技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主......
  • JSP基于SSM的小型企业物料采购系统w92xq程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:员工,物料信息,物料登记,采购申请,物料置办,采购反馈,物料出库,采购员,供应商开题报告内容一、项目背景与意义在当前竞争激烈的市场环境下,小型企业面......
  • JSP基于SSM的临沂大学二手交易网站设计与开发2x37x
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,卖家,商品类型,商品信息,在线交流,在线回复开题报告内容一、项目背景随着高校学生数量的增加和消费观念的转变,二手物品交易在高校内日益频繁。为......
  • JSP基于ssm的志愿者管理系统dh67e(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景与意义随着社会公益事业的蓬勃发展,志愿者活动日益频繁,传统的手工管理模式已难以满足高效、精准的管理需求。因此,开发一套基于SSM(Sprin......
  • JSP基于MVVM的人力资源管理系统的设计与实现gg2o4
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:部门,员工,员工绩效,工资发放,考勤信息,外勤打卡,公告信息开题报告内容一、项目背景与意义随着企业规模的扩大和管理的复杂化,高效、智能的人力资源管......
  • JS高级篇
    JS高级篇一、参数1.动态参数(arguments)2.剩余参数(...arr)二、展开运算符三、数组解构四、遍历(forEach)五、筛选数组(filter)六、内置构造函数1.对象的拷贝(assign)2.创建数组(Array)3.累计器(reduce)表格整理七、改变this指向1.call()2.apply()3.bind()总结(1)Array(2)String(3)Numbe......