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表单验证(简单)
May 23 jQuery
jQuery实现全选、反选和不选功能
Aug 16 jQuery
基于jQuery的表单填充实例
Aug 22 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
Dec 06 jQuery
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
jquery实现购物车基本功能
Oct 25 jQuery
jquery选择器和属性对象的操作实例分析
Jan 10 jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
jQuery实现全选按钮
Jan 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
thinkphp模板继承实例简述
2014/11/26 PHP
php session的应用详细介绍
2017/03/22 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
js不是基础的基础
2006/12/24 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
获取Django项目的全部url方法详解
2017/10/26 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
楼面部长岗位职责范本
2014/02/14 职场文书
连带责任保证书
2014/04/29 职场文书
文化建设工作方案
2014/05/12 职场文书
小学四年级学生评语
2014/12/26 职场文书
长城导游词
2015/01/30 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
幽灵公主观后感
2015/06/09 职场文书
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang