JavaScript实现水平进度条拖拽效果


Posted in Javascript onJanuary 18, 2017

本文实例为大家分享水平进度条拖拽效果的js具体代码,供大家参考,具体内容如下

<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    .scroll{
      margin:100px;
      width: 500px;
      height: 5px;
      background: #ccc;
      position: relative;
    }
    .bar{
      width: 10px;
      height: 20px;
      background: #369;
      position: absolute;
      top: -7px;
      left: 0;
      cursor: pointer;
    }
    .mask{
      position: absolute;
      left: 0;
      top: 0;
      background: #369;
      width: 0;
      height: 5px;
    }
  </style>  
</head>
<body>
  <div class="scroll" id="scroll">
    <div class="bar" id="bar">

    </div>
    <div class="mask" id="mask"></div>
  </div>
  <p></p>
  <script>  
    var scroll = document.getElementById('scroll');
    var bar = document.getElementById('bar');
    var mask = document.getElementById('mask');
    var ptxt = document.getElementsByTagName('p')[0];
    var barleft = 0;
    bar.onmousedown = function(event){
      var event = event || window.event;
      var leftVal = event.clientX - this.offsetLeft;
      var that = this;
       // 拖动一定写到 down 里面才可以
      document.onmousemove = function(event){
        var event = event || window.event;
        barleft = event.clientX - leftVal;     
        if(barleft < 0)
          barleft = 0;
        else if(barleft > scroll.offsetWidth - bar.offsetWidth)
          barleft = scroll.offsetWidth - bar.offsetWidth;
        mask.style.width = barleft +'px' ;
        that.style.left = barleft + "px";
        ptxt.innerHTML = "已经走了" + parseInt(barleft/(scroll.offsetWidth-bar.offsetWidth) * 100) + "%";

        //防止选择内容--当拖动鼠标过快时候,弹起鼠标,bar也会移动,修复bug
        window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
      }

    }
    document.onmouseup = function(){
      document.onmousemove = null; //弹起鼠标不做任何操作
    }
  </script>
</body>
</html>

效果图:

JavaScript实现水平进度条拖拽效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
Sep 03 Javascript
javascript中setAttribute()函数使用方法及兼容性
Jul 19 Javascript
jQuery中的ajax async同步和异步详解
Sep 29 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
Nov 24 Javascript
理解jquery事件冒泡
Jan 03 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
浅谈React Event实现原理
Sep 20 Javascript
JavaScript计算正方形面积
Nov 26 Javascript
js实现列表向上无限滚动
Jan 13 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
Nov 06 Javascript
如何基于viewport vm适配移动端页面
Nov 13 Javascript
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
Jan 18 #Javascript
基于JavaScript实现窗口拖动效果
Jan 18 #Javascript
原生js实现节日时间倒计时功能
Jan 18 #Javascript
原生js实现返回顶部缓冲效果
Jan 18 #Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 #Javascript
原生js实现中奖信息无间隙滚动效果
Jan 18 #Javascript
js实现简单的网页换肤效果
Jan 18 #Javascript
You might like
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
JS表单传值和URL编码转换
2018/03/03 Javascript
小程序封装wx.request请求并创建接口管理文件的实现
2019/04/29 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
python实现颜色空间转换程序(Tkinter)
2015/12/31 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
django将数组传递给前台模板的方法
2019/08/06 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
大学生村官任职感言
2014/01/09 职场文书
办理信用卡工作证明
2014/01/11 职场文书
企业理念标语
2014/06/09 职场文书
幼儿园课题方案
2014/06/09 职场文书
环保志愿者活动总结
2014/06/27 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
2014司机年终工作总结
2014/12/05 职场文书