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 相关文章推荐
拖动Html元素集合 Drag and Drop any item
Dec 22 Javascript
jquery 经典动画菜单效果代码
Jan 26 Javascript
jQuery easyui datagrid动态查询数据实例讲解
Feb 26 Javascript
javascript重复绑定事件造成的后果说明
Mar 02 Javascript
对table和ul实现js分页示例分享
Feb 24 Javascript
JS实现的4种数字千位符格式化方法分享
Mar 02 Javascript
jQuery Position方法使用和兼容性
Aug 23 jQuery
详解ES6中的代理模式——Proxy
Jan 08 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
在vue项目中引入highcharts图表的方法
Jan 21 Javascript
elementUI select组件默认选中效果实现的方法
Mar 25 Javascript
小程序和web画三角形实现解析
Sep 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
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
PHP学习之正则表达式
2011/04/17 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
js密码强度检测
2016/01/07 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
Vue中的异步组件函数实现代码
2018/07/20 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Python识别html主要文本框过程解析
2020/02/18 Python
基于python实现删除指定文件类型
2020/07/21 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
手工社团活动方案
2014/02/17 职场文书
进步之星获奖感言
2014/02/22 职场文书
计算机毕业生求职信
2014/06/10 职场文书
2014年关工委工作总结
2014/11/17 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
文化大革命观后感
2015/06/17 职场文书