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 dataTable 获取某行数据
May 05 jQuery
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
jQuery自定义多选下拉框效果
Jun 19 jQuery
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 jQuery
jquery 键盘事件的使用方法详解
Sep 13 jQuery
jQuery封装animate.css的实例
Jan 04 jQuery
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 jQuery
jquery简单实现纵向的无缝滚动代码实例
Apr 01 jQuery
jQuery中DOM操作原则实例分析
Aug 01 jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 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
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
php 可变函数使用小结
2018/06/12 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
python基础教程之Filter使用方法
2017/01/17 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
服务之星获奖感言
2014/01/21 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
2014年技术员工作总结
2014/11/18 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
《金色的草地》教学反思
2016/02/17 职场文书