js实现滑动进度条效果


Posted in Javascript onAugust 21, 2020

本文实例为大家分享了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript instanceof,typeof的区别
Mar 24 Javascript
Js 弹出框口并返回值的两种常用方法
Dec 30 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
Oct 21 Javascript
简单实现bootstrap导航效果
Feb 07 Javascript
js 判断登录界面的账号密码是否为空
Feb 08 Javascript
浅谈js中同名函数和同名变量的执行问题
Feb 12 Javascript
js实现简易垂直滚动条
Feb 22 Javascript
回顾Javascript React基础
Jun 15 Javascript
使用axios请求接口,几种content-type的区别详解
Oct 29 Javascript
JS 数组和对象的深拷贝操作示例
Jun 06 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 #Javascript
vue组件开发之tab切换组件使用详解
Aug 21 #Javascript
vue组件开发之slider组件使用详解
Aug 21 #Javascript
Vue左滑组件slider使用详解
Aug 21 #Javascript
vue实现移动端触屏拖拽功能
Aug 21 #Javascript
vue实现移动端拖动排序
Aug 21 #Javascript
微信小程序实现聊天室
Aug 21 #Javascript
You might like
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
vuex实现简易计数器
2016/10/27 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
Python文件和流(实例讲解)
2017/09/12 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
大学学习个人的自我评价
2014/02/18 职场文书
企业负责人任命书
2014/06/05 职场文书
建筑工地质量标语
2014/06/12 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
营销学习心得体会
2014/09/12 职场文书
售后客服个人自我评价
2014/09/14 职场文书
任命通知范文
2015/04/21 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript