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 相关文章推荐
jquery中常用的SET和GET
Jan 13 Javascript
JavaScript 序列化对象实现代码
Dec 18 Javascript
JavaScript调用Activex控件的事件的实现方法
Apr 11 Javascript
使用jQuery避免鼠标双击的解决方案
Aug 21 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
Oct 17 Javascript
AngularJS监听路由的变化示例代码
Sep 23 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
整理关于Bootstrap警示框的慕课笔记
Mar 29 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
Aug 06 Javascript
Vue2 监听属性改变watch的实例代码
Aug 27 Javascript
如何使用Javascript中的this关键字
May 28 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 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
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
详解jQuery选择器
2016/12/21 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
连接Python程序与MySQL的教程
2015/04/29 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
Python 循环语句之 while,for语句详解
2018/04/23 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
Python 函数list&amp;read&amp;seek详解
2019/08/28 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
2013年学期结束动员演讲稿
2014/01/07 职场文书
个人授权委托书范本
2014/09/14 职场文书
庆祝新中国成立65周年“向国旗敬礼”网上签名寄语
2014/09/27 职场文书
大学生学期个人总结
2015/02/12 职场文书
2015年环卫工作总结
2015/04/28 职场文书
考研英语辞职信
2015/05/13 职场文书
实施意见格式范本
2015/06/05 职场文书
初中体育教学随笔
2015/08/15 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers