网络编程
位置:首页>> 网络编程>> JavaScript>> js实现滑动进度条效果

js实现滑动进度条效果

作者:#麻辣小龙虾#  发布时间:2023-08-24 03:47:39 

标签:js,滑动,进度条

本文实例为大家分享了js实现滑动进度条效果的具体代码,供大家参考,具体内容如下

js实现滑动进度条效果

进度条:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>js滑动进度条效果</title>
<style>
 *{margin:0;padding:0;user-select:none;}
 .progress-bar{position:relative;height:10px;width:400px;margin:200px auto;background:#ebeef5;border-radius:10px;}
 .progress-bar .pro-bar{position:absolute;left:0;height:10px;width:10px;background:#409eff;}
 .progress-bar .min-num{position:absolute;left:-20px;top:-5px;}
 .progress-bar .max-num{position:absolute;right:-40px;top:-5px;}
 .progress-bar .block {position:absolute;height:30px;width:10px;background:#ccc;top:-10px;border-radius:10px;}
 .progress-bar .block div{position:absolute;display:none;left:-20px;top:-45px;width:50px;height:30px;text-align:center;line-height:30px;background:#ccc;border-radius:20px;}
 .progress-bar .block:hover div{display:block;font-size:10%;color:#fff;background:#409eff;}
</style>
</head>
<body>
<div class="progress-bar">
<span class="min-num">0</span>
<span class="max-num">100</span>
<div class="pro-bar"></div>
<div class="block">
 <div>0</div>
</div>
</div>
</body>
<script>
(function(){
let moveBlock = document.querySelector('.block');
let proBar = document.querySelector('.pro-bar');
let flag = false;
let startX = null;
let moveMax = (400 - 10); // 背景条宽度减去滑块的宽度
moveBlock.onmousedown = function(e){
 startX = e.pageX;
 moveBlock.style.left ? moveBlock.style.left : moveBlock.style.left = '0px';
 let startLeft = parseInt(moveBlock.style.left);
 document.onmousemove = function(e){
 let moveX = (e.pageX - startX) > 0 ? true : false;
 let moveSection = startLeft + (e.pageX - startX);
 // 限定移动范围
 if (moveSection >= 0 && moveSection <= moveMax) {
  let percent = ((startLeft + (e.pageX - startX)) / moveMax).toFixed(4) * 100;
  percent.toString().length > 5 ? percent = percent.toString().subStr(0, 5) : percent = percent.toString();
  moveBlock.style.left = startLeft + (e.pageX - startX) + 'px';
  proBar.style.width = moveBlock.style.left;
  moveBlock.querySelector('div').innerText = percent + '%';
 }
 };
};
// 鼠标松开移除事件
moveBlock.onmouseup = function(){
 document.onmousemove = null;
};
})();
</script>
</html>

来源:https://blog.csdn.net/CodingNoob/article/details/102522168

0
投稿

猜你喜欢

  • test.asp 测试演示文件clsrsa.asp 实现rsa加密与解密的vbs类文件下面是代码:1. test.asp<%rem 文
  • 人常常感受到色彩对自己心理的影响,这些影响总是在不知不觉中发挥作用,左右我们的情绪。色彩的心理效应发生在不同层次中。有些属直接的刺激,有些要
  • Data Points Archive 有时, 为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整。啊,但关键在于确定如
  • 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存
  • 就javascript来说,iframe创建的框架和frameset创建的框架一样。这里有个关系图,做个笔记。图片源自《javascript
  • 做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的javascript代码常常被别人轻易的拷贝,实在让自己的
  • CSS 文件的大小和所引起的 HTTP 的请求数是 CSS 性能的最关键因素回流(reflow)和渲染时间(非常!)没那么重要副本(dupl
  • 在后台处理数据时,前台页面同时计数显示进度条Proess Bar使用了layer来显示用法:1。引用<script lang
  • 内部存储格式:世纪、年、月、日、小时、分钟、秒默认格式是:DD-MON-RR。SYSDATE 返回当前的系统时间。SELECT S
  • GetRepeatTimes(TheChar,TheString) 得到一个字符串在另一个字符串当中出现几次的函数(新)如:response
  • 很多网站注册时都会要求输入电子邮箱,其应用场景是比较广的,例如注册账号接收验证码、注册成功通知、登录通知、找回密码验证通知等。本文将介绍如何
  • ClickHouse是近年来备受关注的开源列式数据库(DBMS),主要用于数据联机分析(OLAP)领域,于2016年开源。目前国内社区火热,
  • 这是 小马 在交流会中的分享,可能有些朋友还不曾了解,同时也为了自己温故而知新,就整理下。多种方式可以想像得到,有很多方法立即执行匿名函数,
  • 原文地址:30 Days of Mootools 1.2 Tutorials - Day 8 - Input Filtering Part
  • 什么是 YARPYARP (另一个反向代理) 设计为一个库,提供核心代理功能,你可以根据应用程序的特定需求进行自定义。YARP 是使用 .N
  • 六、XML展望 任何一项新技术的产生都是有其需求背景的,XML的诞生是在HTML遇到不可克服的困难之后。近年来HTML在许多复杂的Web应用
  • 在使用AJAX开发网站时,经常有朋友遇到乱码的问题,而且一下子难以找到解决方法。其实解决AJAX中文乱码问题很简单。1、服务端程序:<
  • 在dreamweaver4中,你可以存储你自己设定的图片,链接,flash影片,颜色表,模板等等,组成这个站点的资产,这就是Assets面板
  • 页面重构需要考虑的一个重点是XHTML代码语义化,就算是在无任何CSS样式修饰的情况下也能给他人在阅读时带来便利,甚至可以夸张点说在搜索引擎
  • 在linux服务器lvs负载均衡、双机热备应用中经常用到mysql双机热备,安装和配置过程如下:一、 安装MYSQL# cp mysql-s
手机版 网络编程 asp之家 www.aspxhome.com