自定义进度条
时间:2022-05-06
本文章向大家介绍自定义进度条,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
#my_range_warp{
position: relative;
margin: 20px;
padding: 20px;
}
#my_range{
width: 250px;/*总长度*/
height: 14px;
background: white;
border: solid 1px;
border-radius: 4px;
box-shadow:inset 0px 0px 2px 1px black;
position: relative;
}
#my_range_mask{
width: 50px;
height: 14px;
background: green;
border-radius: 4px;
box-shadow:inset 0px 0px 2px 1px green;
position:absolute;
}
#my_range_target{
width: 30px;
height: 30px;
border: solid saddlebrown 1px;
background: gray;
border-radius: 20px;
position:absolute;
cursor: pointer;
top:-10px;
left: -15px;/*距离*/
}
#my_range_target:hover{
width: 30px;
height: 30px;
border: solid saddlebrown 1px;
background: cyan;
border-radius: 20px;
position:absolute;
top:-10px;
}
</style>
</head>
<body>
<div id="my_range_warp">
<div id="my_range">
<div id="my_range_mask">
<div id="my_range_target"></div>
</div>
</div>
</div>
</body>
</html>
<script>
(function(){
var my_range=document.getElementById("my_range");
var my_range_mask=document.getElementById("my_range_mask");
var my_range_target=document.getElementById("my_range_target");
var my_range_config={
my_range_width:550
//部件配置项
}
my_range.style.width=my_range_config.my_range_width+"px";
var target_min_left=-parseInt(my_range_target.offsetWidth/2);
var target_max_left=my_range.offsetWidth-parseInt(my_range_target.offsetWidth/2);
my_range_mask.style.width=my_range_target.offsetLeft+parseInt(my_range_target.offsetWidth/2)+"px";
my_range.onmousedown=function(e){
e=e||window.event;
var startX=e.pageX-my_range_target.offsetLeft;
document.onmousemove=function(e){
if(my_range_target.offsetLeft>=target_min_left&&
my_range_target.offsetLeft<=target_max_left){
my_range_target.style.left=e.pageX-startX+"px";
my_range_mask.style.width=e.pageX-startX+parseInt(my_range_target.offsetWidth/2)+"px";
if(my_range_target.offsetLeft<=target_min_left){
my_range_target.style.left=target_min_left+"px";
my_range_mask.style.width=target_min_left+parseInt(my_range_target.offsetWidth/2)+"px";
}else if(my_range_target.offsetLeft>=target_max_left){
my_range_target.style.left=target_max_left+"px";
my_range_mask.style.width=target_max_left+parseInt(my_range_target.offsetWidth/2)+"px";
}
console.log(my_range_target.offsetLeft);//打印进度
} else{
return;
}
}
document.onmouseup=function(e){
document.onmousemove=null;
document.onmouseup=null;
}
}
})()
</script>
- 【Golang语言社区】 Go语言中使用 Protobuf
- Java面试系列21-xml
- tensorflow载入数据的三种方式 之 TF生成数据的方法
- JS游戏开发 可移动地图的实现
- Java面试系列-多线程
- pymongo.errors:Sort operation used more than the maximum 33554432 bytes of RAM. Add an index,
- PG学习初体验--源码安装和简单命令(r8笔记第97天)
- Pymongo: TypeError: if no direction is specified, key_or_list must be an instance of list
- Java面试系列19-Struts2
- JS游戏开发,让你的静态人物动起来(来自网路)
- Golang语言websocket源码
- 社团划分——Fast Unfolding算法
- 【PSU】AIX 11g RAC自动打GI PSU5
- 详解自动识别验证码,LSTM大显身手
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 排障集锦:九九八十一难之第十难!mysq备份恢复,Could not read entry at offset *: Error in log format or read error.
- Vue使用ref父子组件通信
- 听说Mysql你很豪横?-------------MySQL5.7主从同步
- 听说Mysql你很豪横?-------------MySQL5.7主从复制!读写分离!
- Vue兄弟组件传值
- Vue设置浏览器的标题title和图标icon
- VantUI封装自定义Tabbar路由跳转
- 听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(常用查询,正则表达式,运算符)
- jQuery实现点击添加样式同胞移除样式
- 微信小程序生命周期
- 听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(库函数,存储过程)
- 微信小程序下拉刷新上拉加载
- 微信小程序引用自定义组件
- 听说Mysql你很豪横?-------------搭建MySQL MHA实现数据库高可用( MySQL MHA概述、 搭建 MySQL MHA、 MySQL MHA 故障切换)
- jQuery点击click()事件