JavaScript实现美化滑块效果


Posted in Javascript onMay 17, 2019

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

美化滑块(拖动)

隐藏原有的range 同步value

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>滑块</title>
  <style>
    .len{
      width: 300px;
      height: 6px;
      background: #6c6;
      border-radius: 3px;
      margin-top:15px;
      position: relative;
    }
    .len b{
      display: inline-block;
      height: 6px;
      border-radius: 3px;
      background: #900;
      position: absolute;
    }
    .len span{
      position: absolute;
      width: 10px;
      height: 10px; 
      border-radius: 5px;
      background: #090;
      z-index: 1;
      top: -2px;
      left: 0;
    }
    .len input[type=range]{
      display: none;
    }
  </style>
</head>
<body>
  <input type="range" min="0" max="500" value="0">
  <input type="range" min="0" value="0">
  <script>
    var ranges=document.querySelectorAll("input[type=range]");
    ranges.forEach(function(range){
      var Div=document.createElement("div");
      Div.className="len";
      range.parentNode.insertBefore(Div,range);
      var span=document.createElement("span");
      var b=document.createElement("b");
      Div.appendChild(span);
      Div.appendChild(b);
      Div.appendChild(range);
      span.onmousedown=function(e){
        var x=e.clientX-this.offsetLeft;
        var maxL=Div.offsetWidth-span.offsetWidth;
        var maxV=range.max || 100;
        document.onmousemove=function(e){
          var les=e.clientX-x;
          if(les < 0)les=0;
          if(les > maxL)les=maxL;
          span.style.left=les+"px";
          b.style.width=les+span.offsetWidth/2+"px";
          range.value=les/maxL*maxV;   //同步
          e.preventDefault();       //阻止默认事件
          console.log(range.value)
        }
        document.onmouseup=function(){
          document.onmousemove=null;
          document.onmouseup=null;
        }
      }
    })
  </script>
</body>
</html>

插件都可以无限复制,删除即是原有效果

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

Javascript 相关文章推荐
js版本A*寻路算法
Dec 22 Javascript
jQuery学习笔记之jQuery动画效果
Sep 09 Javascript
js时间比较示例分享(日期比较)
Mar 05 Javascript
异步安全加载javascript文件的方法
Jul 21 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
Jul 03 Javascript
微信小程序中setInterval的使用方法
Sep 29 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
记录一次开发微信网页分享的步骤
May 07 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
Jul 18 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
Sep 03 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
vue中使用mxgraph的方法实例代码详解
May 17 #Javascript
vue中引入mxGraph的步骤详解
May 17 #Javascript
微信小程序云开发 搭建一个管理小程序
May 17 #Javascript
微信小程序云开发实现增删改查功能
May 17 #Javascript
微信小程序云开发实现云数据库读写权限
May 17 #Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
May 17 #Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 #Javascript
You might like
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
详解VUE 数组更新
2017/12/16 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
Python二分查找详解
2015/09/13 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
windows系统下Python环境搭建教程
2017/03/28 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Pycharm运行加载文本出现错误的解决方法
2019/06/27 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
大学生的四年学习自我评价
2013/12/13 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
副处级干部考察材料
2014/05/17 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
毕业生学校组织意见
2015/06/04 职场文书
清洁工工作总结
2015/08/11 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
python接口测试返回数据为字典取值方式
2022/02/12 Python
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python