原生js实现下滑到当前模块进度条填充
<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>

相关文章:
原生js实现下滑到当前模块进度条填充
<div style"height: 1500px;"></div> <div class"progress-container"><div class"progress-bar" data-progress"90%"><p class"progress-text">Google Ads在Google搜索引擎上覆盖超过90%的互…...
显示弹出式窗口的方法
文章目录 1. 概念介绍2. 使用方法3. 示例代码 我们在上一章回中介绍了Sliver综合示例相关的内容,本章回中将介绍PopupMenuButton组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的PopupMenuButton组件位于AppBar右侧…...
Java-什么是缓存线程池?
什么是缓存线程池? 缓存线程池 (CachedThreadPool) 是一种特殊的线程池,它能够动态地调整线程的数量,以适应任 务的需求。这种线程池非常适合处理大量短暂的任务,因为它会根据任务的数量自动增加或减少线 程的数量。 缓存线程池的特点: 线程数量动态调整:缓存线程池…...
esbuild中的Binary Loader:处理二进制文件
在前端或Node.js项目中,有时需要处理二进制文件,如图片、音频、视频或其他非文本资源。esbuild提供了一款名为Binary Loader的插件,它能够在构建时将二进制文件加载为二进制缓冲区,并使用Base64编码将其嵌入到打包文件中。在运行时…...
深度好文:从《黑神话:悟空》看未来游戏趋势:高互动性、个性化与全球化
引言 在数字时代的浪潮中,游戏产业以其独特的魅力和无限的可能性,成为了全球娱乐文化的重要组成部分。随着科技的飞速发展,特别是高性能计算和人工智能技术的突破,游戏的世界变得越来越真实、细腻且富有深度。而在这股技术洪流中…...
【中项第三版】系统集成项目管理工程师 | 第 12 章 执行过程组
前言 本章属于10大管理的内容,上午题预计会考8-10分,下午案例分析也会进行考查。学习要以教材为主。 目录 12.1 指导与管理项目工作 12.1.1 主要输入 12.1.2 主要输出 12.2 管理项目知识 12.2.1 主要输入 12.2.2 主要输出 12.3 管理质量 12.3.…...
C语言自动生成宏定义枚举类型和字符串
#include <stdio.h>// 定义错误枚举 #define ERROR_LIST(e) \e(SUCCESS) \e(FAILURE) \e(NOT_FOUND) \e(TIMEOUT)// 使用宏生成枚举 #define GENERATE_ENUM(ENUM) ENUM, typedef enum {ERROR_LIST(GENERATE_ENUM) } ErrorCode;// 使用宏生成字符串数组…...
C#单例模式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace _3._3._6_单例模式 {public class Singleton{private static Singleton s_instance;private int _state;private Singleton(int …...
10-使用sentinel流控
本文介绍sentinel的直接流控的使用。 0、环境 jdk 1.8sentinel 1.8.2springboot 2.4.2 1、sentinel环境搭建 从官方发布的网站上下载: sentinel Jar,下载对应版本。 下载完成后,进入刚才下载的Jar文件所在的目录,执行如下命令:…...
redis AOF机制
在redis运行期间,不断将redis执行的写命令写到文件中,redis重启之后,只要将这些命令重复执行一遍就可以恢复数据。因为AOF只是将少量的写命令写入AOF文件中,因此其执行效率高于RDB,开启AOF即使Redis发生故障࿰…...
Day 21代码|随想录| 二叉树完结撒花,今日刷题669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.吧二叉搜索树转换为累加树
提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 二叉树 Part06二、题目题目一:669.修剪二叉搜索树解题思路:递归法迭代法: 题目二: 108.将有序数组转换为二叉搜索树解题思路递归法:迭代…...
cmake教程一
1. Start 1.1 构建简单工程 cmake_minimum_required(VERSION 3.0) project(Step1) add_executable(Step1 main.cpp)设置cmake最低版本要求设置工程名字设置工程生成可执行程序 2. 声明 C Standard set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True)如果我…...
3D场景标注标签信息,three.js CSS 2D渲染器CSS2DRenderer、CSS 3D渲染器CSS3DRenderer(结合react)
如果你想用HTML元素作为标签标注三维场景中模型信息,需要考虑定位的问题。比如一个模型,在代码中你可以知道它的局部坐标或世界坐标xyz,但是你并不知道渲染后在canvas画布上位置,距离web页面顶部top和左侧的像素px值。自己写代码把…...
C++参悟-单例模式
单例模式 一、概述1. 特点2. 实现方式3. 应用场景 二、实现代码1. 静态局部变量的懒汉单例2. 加锁的懒汉式单例3. 使用 C11 中的 std::call_one 的懒汉单例4. 饿汉式单例 一、概述 这里记录一下单例模式的最常用使用,单例模式(Single Pattern࿰…...
【题解】—— LeetCode一周小结32
🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结31 5.不含连续1的非负整数 题目链接:600. 不含连续…...
详解线索分层的目的、维度与创新实践
线索分层是一个系统性的过程,旨在更有效地管理、跟踪和利用线索资源。这一过程可以借鉴多种策略和方法,特别是在用户运营和市场营销中。 1、线索分层的目的 线索分层的主要目的是根据线索的不同特征或成熟度,将其分类管理,以便更…...
于8月21号的回顾
傍晚的日落和逐渐深邃的夜,驱散了白天的极致闷热。倦怠和疲惫充斥着大脑,喧嚣的浮沉又在耳边轰鸣。 我不曾想到,再次打开博客已经是两年后的今天了。手指轻轻滑过鼠标,博客的页面缓缓加载,那些被时间尘封的记忆瞬间涌…...
Abstract Class抽象类
抽象类(Abstract Class)在面向对象编程中是一种特殊的类,它不能被实例化,即不能创建该类的对象。抽象类主要用于定义一组接口(即方法),这些方法的具体实现由子类来完成。抽象类通常用于表示一种…...
webrtc ns 降噪之粉红噪声参数推导
webrtc中降噪中,前50帧需要进行简单噪声估计,使用白噪声和粉红噪声模型估算。 首先我们 复习 有色噪声(包含白噪声)的一般模型: S(f) 是频率 f 处的功率谱密度。f是频率。α 是一个频谱指数,通常在1左右。…...
IO进程线程8月21日
1,思维导图 2,登录 #ifndef __LOG_H__ #define __LOG_H__ #include<myhead.h> typedef struct {char name[20];char pwd[20]; }str;int regist();int login(); #endif#include"log.h" int login() {char a[20]"\n";str p,s;…...
Agent设计模式学习(基于langchain4j实现)(6) - 组合复杂工作流
一、定义Agent 1.1 CandidateWorkflow 1 public interface CandidateWorkflow { 2 Agent("根据个人履历和职位描述生成主简历,通过反馈循环针对职位描述进行定制,直至达到合格分数") 3 String processCandidate(V("lifeStory&q…...
突破方舟生存进化技术壁垒的智能管理工具
突破方舟生存进化技术壁垒的智能管理工具 【免费下载链接】TEKLauncher Launcher for ARK: Survival Evolved 项目地址: https://gitcode.com/gh_mirrors/te/TEKLauncher 你是否曾因MOD安装顺序错误导致游戏频繁崩溃?是否在搭建私人服务器时被端口配置弄得晕…...
从Prompt到Agent:收藏这份LLM应用落地演进指南,小白程序员必备!
本文介绍了LLM应用落地的演进过程,从最初的Prompt工程阶段,到Chain编排阶段,再到最新的Agent阶段。文章详细阐述了每个阶段的原理、优缺点及应用实例,并提供了基于Golang的Agent实现示例。通过学习本文,读者可以了解LL…...
别再混淆了!一文搞懂目标检测中的AP、mAP和mAP@0.5:0.95区别
目标检测评估指标全解析:从AP到mAP0.5:0.95的实战指南 在计算机视觉领域,目标检测模型的性能评估一直是研究者关注的焦点。面对AP、mAP、mAP0.5:0.95等专业术语,不少开发者容易混淆它们的计算方式和适用场景。本文将深入剖析这些关键指标的技…...
PROJECT MOGFACE自动化办公助手:集成Python脚本处理Excel与生成报告
PROJECT MOGFACE自动化办公助手:告别重复劳动,让报告自己“写”自己 你是不是也受够了每周、每月那些格式固定的数据报告?从一堆Excel表格里复制粘贴数据,再绞尽脑汁组织语言,最后排版成一份像样的文档。这个过程枯燥…...
《跨摄像机追踪的终局:镜像视界空间计算方案深度解析》——从“识别与匹配”走向“空间计算与连续存在”的最终形态
跨摄像机追踪的终局:镜像视界空间计算方案深度解析——从“识别与匹配”走向“空间计算与连续存在”的最终形态发布单位:镜像视界(浙江)科技有限公司一、问题终局:跨摄像机追踪到底要解决什么?在过去十年中…...
不止于配置:用Horizon UAG 21.11打造安全外网访问,别忘了这些加固设置
超越基础配置:Horizon UAG 21.11安全加固全指南 在虚拟桌面架构中,统一接入网关(UAG)作为内外网流量的安全屏障,其配置合理性直接影响整体架构的安全性。许多管理员在完成UAG基础部署后,往往忽略了更深层次…...
三步解决Windows 11卡顿难题:开源工具Win11Debloat让系统效率提升3倍
三步解决Windows 11卡顿难题:开源工具Win11Debloat让系统效率提升3倍 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to de…...
从噪声到艺术:深入解析扩散模型采样算法的核心步骤
1. 扩散模型:当数学遇见艺术创作 想象一下,你正在看一位画家作画。他一开始只是在画布上随意涂抹颜料,看起来毫无章法。但随着画笔的不断调整,那些混乱的色块逐渐形成了清晰的轮廓,最终变成一幅精美的画作。这正是扩散…...
Claude Code能控制电脑了!开发全程不离终端,全无人值守模式启动
在官方演示中,只甩一个指令过去,AI就自己启动正在开发的应用,自己复现bug,自己修复,自己测试修复效果。 Claude Code上线Computer Use,直接捅破开发效率天花板。 在官方演示中,只甩一个指令过…...
