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 相关文章推荐
ext checkboxgroup 回填数据解决
Aug 21 Javascript
深入理解Javascript中this的作用域
Aug 12 Javascript
JS实现随机乱撞彩色圆球特效的方法
May 05 Javascript
JS实现从网页顶部掉下弹出层效果的方法
Aug 06 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
node.js缺少mysql模块运行报错的解决方法
Nov 13 Javascript
JavaScript实现精美个性导航栏筋斗云效果
Oct 29 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
Jun 14 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
javascript利用键盘控制小方块的移动
Apr 20 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
May 13 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
php标签云的实现代码
2012/10/10 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
ES6 十大特性简介
2020/12/09 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
Python定时器实例代码
2017/11/01 Python
Python实现的堆排序算法原理与用法实例分析
2017/11/22 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
python生成密码字典的方法
2018/07/06 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
一文详述 Python 中的 property 语法
2020/09/01 Python
工商学院毕业生个人自我评价
2013/09/19 职场文书
函授药学自我鉴定
2014/02/07 职场文书
求职面试个人自我评价
2014/02/28 职场文书
产品质量承诺书
2014/03/27 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
故意杀人案辩护词
2015/05/21 职场文书
详解MySQL事务的隔离级别与MVCC
2021/04/22 MySQL
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server