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判断邮箱格式对错实例代码讲解
Apr 12 jQuery
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
JQuery获取元素尺寸、位置及页面滚动事件应用示例
May 14 jQuery
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 jQuery
jquery简易手风琴插件的封装
Oct 13 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
cakephp常见知识点汇总
2017/02/24 PHP
Redis构建分布式锁
2017/03/28 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
Bootstrap模态框禁用空白处点击关闭
2016/10/20 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
Windows下python3.6.4安装教程
2018/07/31 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
python序列类型种类详解
2020/02/26 Python
python中adb有什么功能
2020/06/07 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
2014年保卫工作总结
2014/12/05 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
Python Matplotlib绘制动画的代码详解
2022/05/30 Python