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 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
Dec 31 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
Oct 17 Javascript
js闭包所用的场合以及优缺点分析
Jun 22 Javascript
js实现图片放大和拖拽特效代码分享
Sep 05 Javascript
js 模仿锚点定位的实现方法
Nov 19 Javascript
Vue获取DOM元素样式和样式更改示例
Mar 07 Javascript
jfinal与bootstrap的登出实战详解
Nov 27 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
Dec 20 Javascript
es6 filter() 数组过滤方法总结
Apr 03 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中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
php中的登陆login实例代码
2016/06/20 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
JS动画效果代码3
2008/04/03 Javascript
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
JavaScript this调用规则说明
2010/03/08 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
vue实现搜索功能
2019/05/28 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
实现python版本的按任意键继续/退出
2016/09/26 Python
python中单下划线_的常见用法总结
2018/07/10 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
运动会开幕式邀请函
2014/01/22 职场文书
小学生暑假感言
2014/02/06 职场文书
给校长的建议书
2014/03/12 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
python缺失值填充方法示例代码
2022/12/24 Python