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 学习笔记(七)字符串的连接
Dec 31 Javascript
jquery插件制作 图片走廊 gallery
Aug 17 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
Dec 17 Javascript
jQuery随机切换图片的小例子
Apr 18 Javascript
js中onload与onunload的使用示例
Aug 25 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
JSON 必知必会 观后记
Oct 27 Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
Vue.js数据绑定之data属性
Jul 07 Javascript
本地搭建微信小程序服务器的实现方法
Oct 27 Javascript
使用uni-app开发微信小程序的实现
Dec 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
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
jqTransform美化表单
2015/10/10 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
python爬虫的工作原理
2017/03/05 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
虚拟机下载python是否需要联网
2020/07/27 Python
python 录制系统声音的示例
2020/12/21 Python
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
中科创达面试题
2016/12/28 面试题
教师通用专业自荐书范文
2014/02/11 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
技术负责人任命书
2014/06/05 职场文书
节约用电倡议书
2015/04/28 职场文书
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
Django显示可视化图表的实践
2021/05/10 Python