jQuery实现可拖动进度条实例代码


Posted in jQuery onJune 21, 2017

html

 <div class="progress">
   <div class="progress_bg">
    <div class="progress_bar"></div>
   </div>
   <div class="progress_btn"></div>
   <div class="text">0%</div>
  </div>

css

  .progress{position: relative; width:300px;margin:100px auto;}
  .progress_bg{height: 10px; border: 1px solid #ddd; border-radius: 5px; overflow: hidden;background-color:#f2f2f2;}
  .progress_bar{background: #5FB878; width: 0; height: 10px; border-radius: 5px;}
  .progress_btn{width: 20px; height: 20px; border-radius: 5px; position: absolute;background:#fff; 
  left: 0px; margin-left: -10px; top:-5px; cursor: pointer;border:1px #ddd solid;box-sizing:border-box;}
  .progress_btn:hover{border-color:#F7B824;}

js 

$(function(){
    var tag = false,ox = 0,left = 0,bgleft = 0;
    $('.progress_btn').mousedown(function(e) {
     ox = e.pageX - left;
     tag = true;
    });
    $(document).mouseup(function() {
     tag = false;
    });
    $('.progress').mousemove(function(e) {//鼠标移动
     if (tag) {
      left = e.pageX - ox;
      if (left <= 0) {
       left = 0;
      }else if (left > 300) {
       left = 300;
      }
      $('.progress_btn').css('left', left);
      $('.progress_bar').width(left);
      $('.text').html(parseInt((left/300)*100) + '%');
     }
    });
    $('.progress_bg').click(function(e) {//鼠标点击
     if (!tag) {
      bgleft = $('.progress_bg').offset().left;
      left = e.pageX - bgleft;
      if (left <= 0) {
       left = 0;
      }else if (left > 300) {
       left = 300;
      }
      $('.progress_btn').css('left', left);
      $('.progress_bar').animate({width:left},300);
      $('.text').html(parseInt((left/300)*100) + '%');
     }
    });
   });

效果图

jQuery实现可拖动进度条实例代码

实现原理

首先是用mousedown()鼠标按下事件保存一个状态值,mouseup()鼠标抬起事件取消该状态,再同时配合mousemove()鼠标移动事件,实现按住拖动的效果。

在鼠标移动的同时去改变精度条的长度和按钮的相对左部的距离。

然后就是距离的计算,主要利用的就是pageX() 属性。pageX是鼠标指针相对于文档的左边缘的位置。在鼠标按下是就记录相对位置,在鼠标移动后就可求出鼠标移动的距离。从而改变按钮位置和进度条长度。

以上所述是小编给大家介绍的jQuery实现可拖动进度条demo,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
基于jquery实现二级联动效果
Mar 30 jQuery
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
jQuery 实现双击编辑表格功能
Jun 19 jQuery
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 jQuery
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
jquery树形插件zTree高级使用详解
Aug 16 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
jQuery实现手风琴效果(蒙版)
Jan 11 jQuery
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
jQuery实现简易QQ聊天框
Feb 10 jQuery
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
基于jquery日历价格、库存等设置插件
Jul 05 #jQuery
jquery.validate表单验证插件使用详解
Jun 21 #jQuery
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 #jQuery
jquery加载单文件vue组件的方法
Jun 20 #jQuery
jQuery 实现双击编辑表格功能
Jun 19 #jQuery
jQuery实现简单的手风琴效果
Apr 17 #jQuery
jQuery自定义多选下拉框效果
Jun 19 #jQuery
You might like
javascript,php获取函数参数对象的代码
2011/02/03 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
详谈PHP编码转换问题
2015/07/28 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python开发的HTTP库requests详解
2017/08/29 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
python 整数越界问题详解
2019/06/27 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
yy结婚证婚词
2014/01/10 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
营销总监岗位职责
2014/09/16 职场文书
2014年导购员工作总结
2014/11/18 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
教师远程研修感悟
2015/11/18 职场文书