JavaScript实现美化滑块效果

 更新时间:2019年05月17日 16:22:13   作者:wangsq-js  
这篇文章主要为大家详细介绍了JavaScript实现美化滑块效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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中break,continue和return语句用法小结

    javascript中break,continue和return语句用法小结

    break,continue和return这三个语句的用法新手们经常弄混淆,至少在我学习c语言的时候经常把它们的用法给搞错。不过现在好了,我已彻底搞清楚它们之间的用法
    2012-05-05
  • javascript贪吃蛇完整版(源码)

    javascript贪吃蛇完整版(源码)

    这篇文章主要是对javascript贪吃蛇完整版(源码)进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • JS事件Event元素(兼容IE,Firefox,Chorme)

    JS事件Event元素(兼容IE,Firefox,Chorme)

    今天,想聊聊JS事件对象。相信大家对于获得激发JS事件的原对象的理解,有的人可能简单停留在IE上。也就是window.event这个对象
    2012-11-11
  • echarts中图例右置且竖排完整代码

    echarts中图例右置且竖排完整代码

    这篇文章主要给大家介绍了关于echarts中图例右置且竖排的相关资料,Echarts可以帮助我们快速构建柱状图、饼图、条形图,这对于多图形化展示数据来说尤其方便,可帮助我们快速开发,需要的朋友可以参考下
    2023-08-08
  • 微信小程序实现用户登录模块服务器搭建

    微信小程序实现用户登录模块服务器搭建

    这篇文章主要介绍了微信小程序实现用户登录模块服务器搭建,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • js事件监听器用法实例详解

    js事件监听器用法实例详解

    这篇文章主要介绍了js事件监听器用法,以实例形式较为详细的分析了javascript事件监听器使用注意事项与相关技巧,需要的朋友可以参考下
    2015-06-06
  • jsonp实现百度下拉框功能的方法分析

    jsonp实现百度下拉框功能的方法分析

    这篇文章主要介绍了jsonp实现百度下拉框功能的方法,结合实例形式分析了调用百度接口jsonp实现跨域请求及内容渲染相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • js中数组解构与对象解构示例代码

    js中数组解构与对象解构示例代码

    数组解构是一种在 JavaScript 中从数组中提取值并将它们分配给变量的方式,在数组解构中分为完全解构,不完全解构,解构失败以及解构默认值,这篇文章主要介绍了js中数组解构与对象解构,需要的朋友可以参考下
    2023-09-09
  • Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果

    Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果

    这篇文章主要介绍了Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-05-05
  • javascript中几个容易混淆的概念总结

    javascript中几个容易混淆的概念总结

    这篇文章主要介绍了javascript中几个容易混淆的概念总结,都是平时经常遇到的问题,这里推荐给大家,有需要的小伙伴参考下吧。
    2015-04-04

最新评论