NPM- 滚动进度可视化插件

目录

  • progress-scroll 滚动进度插件
    • 📦 体验
    • 🌍 安装
    • 🛹 注入
      • 🎉 配置
    • 🤖 使用方法
      • 📝 使用示例 Demo.vue
    • 💌 原理

progress-scroll 滚动进度插件

🤖🎉🎉 您的 进度监控 插件是一个基于 原生 Css 封装的实用 hooks 工具,用于在 Vue.js 应用程序中展示进度。它提供了一种简单、定制且具备高兼容性 。

📦 体验

一键速看

🌍 安装

你可以使用 npm 或 pnpm 安装插件:

npm i vue3-progress-scroll

🛹 注入

在你的主应用程序入口文件(例如 main.js)中,导入并使用 :
main.js

/* Step 1
------------------------------------------------------------------ */
import { useScroll } from "vue3-progress-scroll";
const app = createApp(App);
app.use(useScroll);

🎉 配置

/* Step 2
------------------------------------------------------------------ */
// 注册插件并提供自定义的进度条属性(可选)例如:
app.use(useScroll, {progress: "green", // 进度条颜色progressRollback: "#fff", // 进度条回滚颜色progressTop: "3px", // 进度条距离顶部的距离progressLeft: "0px", // 进度条距离左边的距离UIViewBackground: "#fff", // 页面背景色
});

🤖 使用方法

一旦你设置了插件,你就可以在组件中使用 $openScroll 和 $closeScroll() 方法:

第一种 inject

/* Step 3
------------------------------------------------------------------ */
// 在父容器绑定类名
<div class="ProgressTopBar"><p v-for="(item, index) in 1000" :key="index">{{ index + 1 }}</p>
</div>import { ref, inject } from "vue";
import { scrollKey } from "vue3-progress-scroll";
inject(scrollKey)?.$openScroll();
inject(scrollKey)?.$closeScroll();

第二种 getCurrentInstance()

import { getCurrentInstance } from "vue";
const { proxy }: any = getCurrentInstance();
proxy.$openScroll();
proxy.$closeScroll();

📝 使用示例 Demo.vue


<template><div class="ProgressTopBar"><p v-for="(item, index) in items" :key="index">{{ item }}</p></div>
</template><script setup lang="ts">// vue3.2.0+ 之后支持的新特性defineOptions({name: "scrollBar", // 组件名inheritAttrs: false, // 是否继承父组件的属性});import { ref, inject } from "vue";const items = ref<string[]>([]);for (let i = 0; i < 200; i++) items.value.push(`Item ${i + 1}`);import { scrollKey } from "vue3-progress-scroll";inject(scrollKey)?.$openScroll();inject(scrollKey)?.$closeScroll();
</script>

💌 原理

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>进度条 原理</title><style>/* 知其意才能更好的使用~ */body {position: relative;padding: 50px;font-size: 24px;line-height: 30px;background-image: linear-gradient(to right top, #ffcc00 50%, #eee 50%);background-size: 100% calc(100% - 100vh + 5px);background-repeat: no-repeat;z-index: 1;}body::after {content: "";position: fixed;top: 5px;left: 0;bottom: 0;right: 0;background: #fff; /* 尝试注释我看看 */z-index: -1;}/*** Unrelated css*/h1 {font-size: 32px;line-height: 60px;}ul {margin-top: 30px;}p {font-size: 24px;line-height: 30px;margin-top: 30px;}</style></head><body><h1>不可思议的纯 CSS 进度条效果</h1><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><ul><li>1.xxxxxxxxxxxxxxxxxxxxx</li><li>2.xxxxxxxxxxxxxxxxxxxxx</li><li>3.xxxxxxxxxxxxxxxxxxxxx</li><li>4.xxxxxxxxxxxxxxxxxxxxx</li></ul><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p><p>在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助JS ,能否巧妙的实现上述效果。</p><p>OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助Javascript,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS完成这个效果呢?</p></body>
</html>

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/152586.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud学习笔记【分布式请求链路跟踪-Sleuth】

文章目录 Spring Cloud Sleuth概述概述主要功能&#xff1a;Sleuth中的术语和相关概念官网 zipkin配置下载运行zipkin下载zipkin运行 demo配置服务提供者 lf-userpom.xmlapplication.ymlUserController 服务调用者 lf-authpom.xmlapplication.ymlAuthController 测试 Spring Cl…

iOS App上架全流程及相关处理

iOS app上架总体流程&#xff1a; 一、IOS上架整个流程 1、申请开发者账号 2、创建APP ID及申请证书 3、itunes connect 创建APP 4、打包 上传APP 5、提交APP&#xff0c;上线成功 1、申请开发者账号 苹果开发者账号主要分为三种&#xff1a;个人账号、公司账号、企业账…

Redis分布式系统: 主从复制

“你小心保管我&#xff0c;不思议的念头。秘密从不会对谁泄漏~” 什么是分布式系统&#xff1f; 分布式系统的出现&#xff0c;就是为了解决单机问题(硬件资源不足)。在分布式系统中&#xff0c;通常会把数据复制多个副本部署到其他服务器&#xff0c;满⾜故障恢复和负载均衡等…

账户权限

目录 1. 文件的一般权限 1.1. 文件详细信息 1.2. 文件权限构成 示例&#xff1a; 1.3. chmod命令 1.3.1. 参数 示例&#xff1a; 扩展&#xff1a;隐藏权限(chattr a) 1.4. chown命令 示例&#xff1a; 2. 特殊权限 2.1. 概述 2.2. SUID权限 2.3. SGID 权限 2.4…

科技云报道:联络中心效能与体验齐飞,容联云AICC是如何做到的?

科技云报道原创。 AI与大模型为千行万业带来的进化与改造&#xff0c;远比想象来得更加猛烈。作为数字化升级改造的核心场景之一&#xff0c;联络中心在AI与大模型加持下&#xff0c;正在从基础云通讯迈入智能化的3.0时代。 身处行业智能化浪潮之中&#xff0c;容联云AICC作为…

简易版Pycharm(2023)+Conda开发环境配置教程

困 扰 不知道为什么&#xff0c;自从Pycharm更新了新的版本以后&#xff0c;在Pycharm中为项目工程配置Python解释器环境时&#xff0c;总是不能像以前那么方便。 比如&#xff0c;当前Conda中有十个不同的开发环境&#xff0c;每个环境一个名称&#xff0c;比如&#xff0c;p…

LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment

现在&#xff0c;您已经了解了如何调整和对齐大型语言模型以适应您的任务&#xff0c;让我们讨论一下将模型集成到应用程序中需要考虑的事项。 在这个阶段有许多重要的问题需要问。第一组问题与您的LLM在部署中的功能有关。您需要模型生成完成的速度有多快&#xff1f;您有多…

数据结构———— 堆

(一)基础补充 满二叉树是每一层节点都放满的二叉树。 完全二叉树是只有最后一层节点右边不放满的二叉树。 满二叉树(Perfect Binary Tree) 如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。另一种说法:一个深度为k(>=-1)且有2^(k+1) - 1个结…

一种重要的天然氨基酸L-Homopropargylglycine(HPG)|CAS:942518-19-6

产品简介&#xff1a;L-Homopropargylglycine是一种重要的天然氨基酸&#xff0c;具有多种生物活性和医学应用价值。它广泛应用于生物学、药学、化学等多个领域。在生物学中&#xff0c;HPG被用作蛋白质合成的标记物&#xff0c;可以通过其特殊的化学反应与蛋白质中的半胱氨酸残…

Rocky(centos)安装nginx并设置开机自启

一、安装nginx 1、安装依赖 yum install -y gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel 2、去官网下载最新的稳定版nginx nginx: downloadhttp://nginx.org/en/download.html 3、将下载后的nginx上传至/usr/local下 或者执行 #2023-10-8更新 cd /usr/…

图像分割-Segment Anything实践

一、模型介绍 Segment Anything 模型是一种新的图像分割模型&#xff0c;它可以在不需要大量标注数据的情况下&#xff0c;对图像中的任何物体进行分割。这种方法可以帮助计算机视觉领域的研究人员和开发人员更轻松地训练模型&#xff0c;从而提高计算机视觉应用程序的性能。该…

线段树基本原理和操作

线段树的一些基本操作和原理&#xff1a; 由二分的思想而来&#xff0c;一段区间划分&#xff0c;实现大量数据的查询删除O(log(n)) 线段树&#xff08;英语&#xff1a;Segment tree&#xff09;是一种二叉树形数据结构&#xff0c;1977年由Jon Louis Bentley发明&#xff0…

【网络安全---XSS漏洞(1)】XSS漏洞原理,产生原因,以及XSS漏洞的分类。附带案例和payload让你快速学习XSS漏洞

以pikachu靶场为例子进行讲解&#xff0c;pikachu靶场的搭建请参考以下博客&#xff1b; 【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程&#xff08;提供靶场代码及工具&#xff09;_网络安全_Aini的博客-CSDN博客【网路安全 --- pikachu靶场安装】超详细的pi…

设计模式——Decorator(装饰器模式)

Decorator(装饰器模式) 目的&#xff1a; 动态地给一个对象添加一些额外的职责。 适用性&#xff1a; 在不影响其他对象的情况下&#xff0c;以动态、透明的方式给单个对象添加职责。 简单解释 当有一个已经完成的系统&#xff0c;其中类和对象的关系的错综复杂的&#x…

【【萌新的SOC学习之小水文系列】】

萌新的SOC学习之小水文系列 SD卡读写TXT文本实验 SD 卡共有 9 个引脚线&#xff0c;可工作在 SDIO 模式或者 SPI 模式。在 SDIO 模式下&#xff0c;共用到 CLK、CMD、DAT[3:0]六根信号线&#xff1b;在 SPI 模式下&#xff0c;共用到 CS&#xff08;SDIO_DAT[3]&#xff09;、…

leetcode:2427. 公因子的数目(python3解法)

难度&#xff1a;简单 给你两个正整数 a 和 b &#xff0c;返回 a 和 b 的 公 因子的数目。 如果 x 可以同时整除 a 和 b &#xff0c;则认为 x 是 a 和 b 的一个 公因子 。 示例 1&#xff1a; 输入&#xff1a;a 12, b 6 输出&#xff1a;4 解释&#xff1a;12 和 6 的公因…

016 Spring Boot + Vue 图书管理系统

Spring Boot Vue 图书馆管理系统&#xff08;library-system&#xff09; 本地快捷预览项目 第一步&#xff1a;运行 db 文件夹下的springboot-vue.sql(询问作者获取)&#xff0c;创建springboot-vue数据库 第二步&#xff1a;修改后端数据库配置文件&#xff0c;启动后端 …

OpenCV防抖实践及代码解析笔记

视频防抖是指用于减少摄像机运动对最终视频的影响的一系列方法。摄像机的运动可以是平移&#xff08;比如沿着x、y、z方向上的运动&#xff09;或旋转&#xff08;偏航、俯仰、翻滚&#xff09;。 正如你在上面的图片中看到的&#xff0c;在欧几里得运动模型中&#xff0c;图像…

opencv图像的直方图,二维直方图,直方图均衡化

文章目录 opencv图像的直方图&#xff0c;二维直方图&#xff0c;直方图均衡化一、图像的直方图1、什么是图像的直方图&#xff1a;2、直方图的作用&#xff1a;3、如何绘制图像的直方图&#xff1a;&#xff08;1&#xff09;cv::calcHist()函数原型&#xff1a;英文单词 calc…

【C/C++】结构体内存分配问题

规则1&#xff1a;以多少个字节为单位开辟内存 就是说&#xff0c;该结构体最终所占字节大小&#xff0c;是这个单位的整数倍 给结构体变量分配内存的时候&#xff0c;会去结构体变量中找基本类型的成员 哪个基本类型的成员占字节数多&#xff0c;就以它大大小为单位开辟内存 …