easyui源码翻译1.32---ProgressBar(进度条)

时间:2022-09-05 22:48:07

前言

使用$.fn.progressbar.defaults重写默认值对象。下载该插件翻译源码

进度条提供了一个反馈显示一个长时间运行的操作进展。可以更新的进展条,让用户知道当前正在执行操作。

源码

/**
* jQuery EasyUI 1.3.2
*
*翻译:qq 1364386878 进度条
*/
(function ($) {
//初始化
function init(target) {
$(target).addClass("progressbar");
$(target).html("<div class=\"progressbar-text\"></div><div class=\"progressbar-value\"><div class=\"progressbar-text\"></div></div>");
return $(target);
};
//调整大小
function _resize(jq, width) {
var options = $.data(jq, "progressbar").options;
var bar = $.data(jq, "progressbar").bar;
if (width) {
options.width = width;
}
bar._outerWidth(options.width)._outerHeight(options.height);
bar.find("div.progressbar-text").width(bar.width());
bar.find("div.progressbar-text,div.progressbar-value").css({ height: bar.height() + "px", lineHeight: bar.height() + "px" });
};
//实例化进度条组件
$.fn.progressbar = function (target, parm) {
if (typeof target == "string") {
var method = $.fn.progressbar.methods[target];
if (method) {
return method(this, parm);
}
}
target = target || {};
return this.each(function () {
var progressbar = $.data(this, "progressbar");
if (progressbar) {
$.extend(progressbar.options, target);
} else {
progressbar = $.data(this, "progressbar",
{
options: $.extend({}, $.fn.progressbar.defaults,
$.fn.progressbar.parseOptions(this), target),
bar: init(this)
});
}
$(this).progressbar("setValue", progressbar.options.value);
_resize(this);
});
};
//默认方法
$.fn.progressbar.methods = {
//返回属性对象
options: function (jq) {
return $.data(jq[0], "progressbar").options;
},
//组件大小。
resize: function (jq, width) {
return jq.each(function () {
_resize(this, width);
});
},
//返回当前进度值
getValue: function (jq) {
return $.data(jq[0], "progressbar").options.value;
},
//设置一个新的进度值
setValue: function (jq, value) {
if (value < 0) {
value = 0;
}
if (value > 100) {
value = 100;
}
return jq.each(function () {
var options = $.data(this, "progressbar").options;
var text = options.text.replace(/{value}/, value);
var oldVal = options.value;
options.value = value;
$(this).find("div.progressbar-value").width(value + "%");
$(this).find("div.progressbar-text").html(text);
if (oldVal != value) {
options.onChange.call(this, value, oldVal);
}
});
}
};
//解析器
$.fn.progressbar.parseOptions = function (target) {
return $.extend({}, $.parser.parseOptions(target,
["width", "height", "text", { value: "number" }]));
};
//默认属性和事件
$.fn.progressbar.defaults = {
width: "auto",//设置进度条宽度
height: 22,//设置进度条gao度
value: 0,//百分比值
text: "{value}%",//要在组件上显示的文本模板
onChange: function (newValue, oldValue) {
}
};
})(jQuery);

示例代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Basic ProgressBar - jQuery EasyUI Demo</title>
<link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../../themes/icon.css">
<link rel="stylesheet" type="text/css" href="../demo.css">
<script type="text/javascript" src="../../jquery-1.8.0.min.js"></script>
<script src="../../plugins2/jquery.parser.js"></script>
<script src="../../plugins2/jquery.progressbar.js"></script>
</head>
<body>
<h2>Basic ProgressBar</h2>
<div class="demo-info">
<div class="demo-tip icon-tip"></div>
<div>Click the button below to show progress information.</div>
</div>
<div style="margin:10px 0;">
<a href="#" class="easyui-linkbutton" onclick="start()">Start</a>
</div>
<div id="p" class="easyui-progressbar" style="width:400px;"></div>
<script>
function start(){
var value = $('#p').progressbar('getValue');
if (value < 100){
value += Math.floor(Math.random() * 10);
$('#p').progressbar('setValue', value);
setTimeout(arguments.callee, 200);
}
};
</script>
</body>
</html>

插件效果

easyui源码翻译1.32---ProgressBar(进度条)

easyui源码翻译1.32---ProgressBar(进度条)的更多相关文章

  1. easyui源码翻译1&period;32&plus;API翻译全篇导航 &lpar;提供下载源码&rpar;

    前言 EasyUI每个组件都会有 属性.方法.事件 属性 所有的属性都定义在jQuery.fn.{plugin}.defaults里面.例如,对话框属性定义在jQuery.fn.dialog.defa ...

  2. easyui源码翻译1&period;32--Slider(滑动条)

    前言 使用$.fn.slider.defaults重写默认值对象.下载该插件翻译源码 滑动条允许用户从一个有限的范围内选择一个数值.当滑块控件沿着轨道移动的时候,将会显示一个提示来表示当前值.用户可以 ...

  3. easyui源码翻译1&period;32--datagrid&lpar;数据表格&rpar;

    前言 此前网上有easyui1.25的源码  应该算是比较老的版本  之后又经历了1.26 . 1.3. 1.31. 1.32 .1.33.1.34  1.33开始支持css3 算是又一个转折  但是 ...

  4. easyui源码翻译1&period;32--Messager(消息窗口)

    前言 使用$.messager.defaults重写默认值对象.下载该插件翻译源码 消息窗口提供了不同的消息框风格,包含alert(警告框), confirm(确认框), prompt(提示框), p ...

  5. easyui源码翻译1&period;32--EasyLoader(简单加载)

    前言 扩展自$.fn.datebox.defaults,使用$.fn.datetimebox.defaults重写默认值对象.下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3. ...

  6. easyui源码翻译1&period;32--Draggable(拖动)

    前言 使用$.fn.draggable.defaults重写默认值对象.下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3.2 * *翻译:qq 1364386878 --拖动 ...

  7. easyui源码翻译1&period;32--Droppable(放置)

    前言 使用$.fn.droppable.defaults重写默认值对象.下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3.2 * *翻译:lbq --放置 拉伸 */ (fun ...

  8. easyui源码翻译1&period;32--Resizable(调整大小)

    前言 使用$.fn.resizable.defaults重写默认值对象 下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3.2 * *翻译:qq 1364386878 Resiz ...

  9. easyui源码翻译1&period;32--Pagination(分页)

    前言 使用$.fn.pagination.defaults重写默认值对象下载该插件翻译源码 该分页控件允许用户导航页面的数据.它支持页面导航和页面长度选择的选项设置.用户可以在分页控件上添加自定义按钮 ...

随机推荐

  1. Python学习笔记2—内置函数

    函数的使用 官方文档:https://docs.python.org/2/library/functions.html

  2. 解决Windows2008Server上PLSQL登录时报ORA-12557

    公司的Oracle服务端是安装在一台Linux服务器上,版本号为11.1.0.7.0.我们开发的系统部署在Windows 2008 Server(x64),因为偶尔需要调用Oracle数据库,所以最开 ...

  3. 算法回顾--N皇后问题简单回顾

    前言 最近学习的过程中,不知道哪门子的思维发散,突然又遇见皇后问题了,于是乎老调重弹,心里琢磨,虽然思路大家都容易懂,哪怕是最简单的野蛮回溯法,说着简单,但是如果非得编码实现?我可以一次性写出来OK的 ...

  4. 无法远程连接服务器上的mysql

    使用mysql管理工具连接服务器删过得mysql,显示连接被拒绝,但是在服务器上是可以登录mysql的. 无法远程连接通常以下几种情况: 首先,关闭mysql.        service mysq ...

  5. vue项目向小程序迁移调研

    概述 今天调研了一下vue项目怎么向小程序迁移,有些心得,记录下来,供以后开发时参考,相信对其他人也有用. 基本上vue项目向小程序迁移不外乎2种方法,一种是用小程序的web-view组件,另一种是用 ...

  6. hibernate 保存的flush怎么用?

    hibernate 中的flush方法只有在上面的数据保存用了hibernate的方法保存了,但是在同一个事物当中需要用SQL的方法去查上面保存的数据,这个时候上方的hibernate保存后面就需要用 ...

  7. I&sol;O复用&lpar;select&rpar;——回声服务器端&sol;客户端

    一.select 使用select函数可以将多个文件描述符集中到一起统一监视,监视事件如下: 是否存在待读取数据. 是否可传输无阻塞传输数据. 是否发生异常. 将关心上述3种事件的文件描述发分别注册到 ...

  8. select标签的相关操作,选中,获取option的值,二级联动

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. POJ 3905 Perfect Election (2-Sat)

    Perfect Election Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 438   Accepted: 223 De ...

  10. Tomcat部署Web应用

    在Tomcat中部署Web有三种方法: 1,可以将Web应用文件直接复制到webapps目录下,也可以将Web应用打成war包放到webapps目录下,tomcat会自动解开war包,并在webapp ...