本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“js实现滑动进度条效果”评论...
更新动态
2024年12月27日
2024年12月27日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]