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+css实现侧边导航栏效果
Jun 12 jQuery
jquery学习笔记之无new构建详解
Dec 07 jQuery
jQuery中复合选择器简单用法示例
Mar 31 jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
JQuery通过后台获取数据遍历到前台的方法
Aug 13 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
Jquery让form表单异步提交代码实现
Nov 14 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
如何在vue 中引入使用jquery
Nov 10 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多用户计数器代码
2007/03/11 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python 处理数据的实例详解
2017/08/10 Python
Python中psutil的介绍与用法
2019/05/02 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
2021/01/18 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
统计岗位职责
2014/02/21 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
医德医风自我评价
2014/09/19 职场文书
预备党员介绍人意见
2015/06/01 职场文书
2016小学新学期寄语
2015/12/04 职场文书