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.hqwc.cn/news/130761.html

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

相关文章

基于ChatGPT+词向量/词嵌入实现相似商品推荐

最近一个项目有个业务场景是相似商品推荐&#xff0c;给一个商品描述(比如 WIENER A/B 7IN 5/LB FZN )&#xff0c;系统给出商品库中最相似的TOP 5种商品&#xff0c;这种单纯的推荐系统用词向量就可以实现&#xff0c;不过&#xff0c;这个项目特点是商品库巨大&#xff0c;有…

Windows环境下下载安装Elasticsearch和Kibana

Windows环境下下载安装Elasticsearch和Kibana 首先说明这里选择的版本都是7.17 &#xff0c;为什么不选择新版本&#xff0c;新版本有很多坑&#xff0c;要去踩&#xff0c;就用7就够了。 Elasticsearch下载 Elasticsearch是一个开源的分布式搜索和分析引擎&#xff0c;最初由…

Qt多工程同名字段自动翻译工具

开发背景 项目里不同工程经常会引用同一批公共类&#xff0c;这些类里如果有字段需要翻译&#xff0c;需要在不同的项目里都翻译一遍&#xff0c;比较麻烦冗余。 特此开发了这个小翻译工具&#xff0c;能读取程序目录下的所有ts文件&#xff0c;以类名归类&#xff0c;不同项目…

Linux基础指令笔记大全

Linux基础指令笔记大全 1. ls 指令2. pwd命令3. cd 指令4. touch指令5. mkdir指令6. rmdir指令 && rm 指令7. man指令8.cp指令9. mv指令10. cat 指令11. more指令12. less指令13. head指令14. tail指令15. 时间相关的指令1. **在显示方面&#xff0c;使用者可以设定欲显…

免费的ChatGPT与StableDiffusion AI绘画 二合一 附在线地址

ChatGPT与StableDiffusion 在线地址在文末 介绍 嘿&#xff0c;大家好&#xff01;今天我要给大家介绍一个非常酷炫的技术结合——ChatGPT与StableDiffusion的合作。听起来是不是很有趣&#xff1f;那么&#xff0c;让我们一起来看看这个组合到底能带给我们什么样的奇妙体验…

空间精密定位与导航VR模拟培训软件突破了时空限制

随着科技的飞速发展&#xff0c;测绘遥感技术逐渐成为地理信息获取的重要手段。然而&#xff0c;传统的测绘展示方式存在着诸多局限性&#xff0c;无法充分展现出测绘数据的精细化和多元化&#xff0c;成为为解决这一难题的有效途径。 测绘工程专业作为时下就业率爆棚的专业之一…

数据结构和算法——排序算法

目录 排序的分类&#xff1a; 内部排序&#xff1a; 插入排序&#xff1a; 直接插入排序&#xff1a; 希尔排序&#xff1a; 选择排序&#xff1a; 简单选择排序&#xff1a; 堆排序&#xff1a; 交换排序&#xff1a; 冒泡排序&#xff1a; 快速排序 归并排序&…

k8spod就绪检查失败

pod 一直未就绪 kube-system metrics-server-7764f6c67c-2kts9 0/1 Running 0 10m kubect describe 查看 就绪探针未通过 Normal Started 3m19s kubelet Started container metrics-server Warning Unhealthy 5s (x20 over 2m55s) kubelet Readiness probe failed: HTTP probe…

ArcGIS: 第二届全国大学生GIS技能大赛(广西师范学院)详解-下午题

目录 01 题目 02 思路和实操 2.1 流域提取-思路 2.2 流域提取-实操 2.2.1 获取DEM ​编辑 2.2.2 水文分析-提取流域基于单出水口 2.3 河网分级-思路 2.4 河网分级-实操 2.4.1 提取河道网络 2.4.2 河网分级 ​编辑 2.5 子流域提取和处理-思路 2.6 子流域提取和处理-实…

HTML5的新增表单元素

HTML5 有以下新的表单元素: <datalist> <keygen> <output> datalist datalist 元素规定输入域的选项列表。 datalist属性规定 form 或 input 域应该拥有自动完成功能。当用户在自动完成域中开始输入时&#xff0c;浏览器应该在该域中显示填写的选项&…

前端-uniapp-开发指南

美团外卖微信小程序开发 uniapp-美团外卖微信小程序开发P1 成果展示P2外卖小程序后端&#xff0c;学习给小程序写http接口P3 主界面配置P4 首页组件拆分P13 外卖列表布局筛选组件商家 布局测试数据创建样式 请求商家外卖数据封装请求并发请求 uni-app框架调用https接口 开发小程…

FPGA面试题(4)(跨时钟域处理)

跨时钟域处理方法 慢->快快->慢单bit在快时钟域同步打拍&#xff0c;将信号同步到快时钟域展宽后同步打拍多bit异步FIFO异步FIFO握手信号 一.打两拍 适用于单bit跨时钟域处理所谓的打两拍就是定义两级寄存器实现延时 那为什么是打两拍&#xff0c;不是打一拍&#x…