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 相关文章推荐
javascript 播放器 控制
Jan 22 Javascript
javascript attachEvent和addEventListener使用方法
Mar 19 Javascript
JavaScript字符串插入、删除、替换函数使用示例
Jul 25 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
Sep 23 Javascript
浅析BootStrap模态框的使用(经典)
Apr 29 Javascript
js表单登陆验证示例
Oct 19 Javascript
JS实现浏览器打印、打印预览示例
Feb 28 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
Nov 01 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
Sep 07 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
Nov 05 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
微信小程序 根据不同用户切换不同TabBar
Apr 21 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中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
django框架两个使用模板实例
2019/12/11 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
python的dict判断key是否存在的方法
2020/12/09 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
获奖的大学生创业计划书
2014/01/05 职场文书
清洁工岗位职责
2014/01/29 职场文书
村级换届选举方案
2014/05/10 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python