* @param num 数字,可以是小数或百分数
* @param isThd 是否千分位化(可选),默认 true
* @param delay 动画延时时长(可选),默认 500
* @param grain 粒度,在规定时间内数字变化次数(可选),默认 100
$( " 选择器 "). animateNum( num, isThd, delay, grain);
$("选择器").animateNum(12345);
$("选择器").animateNum("348245.5323");
$("选择器").animateNum("68.46%");
$("选择器").animateNum("$45878.235");
$("选择器").animateNum("上升153253.245值",false,1000);
* @param format 必选,时间格式,为空则使用默认格式 "yyyy-MM-dd HH:mm:ss"
TimeTool. setFormat(format);
* 以下 get**Time方法 只是举例,还有类似其他的未全部罗列
* @param num 粒度,正数即日期向后,负数即日期向前。含有before或after的方法该值都为正数
* @param type 时间类型,有 month(或 1),day(或 2),hour(或 3),min(或4),sec(或 5),ms(或 6);默认:day(或 2)。
* @param time 时间(兼容字符串,整型和日期Date类型),可选,如果为空则使用系统当前时间
* @param format 可选,时间格式,为空则使用默认格式 "yyyy-MM-dd HH:mm:ss"
* @param objType 可选,返回的数据类型,可选参数,默认:string,另外还有number和date;如果非string类型则format参数无效。
TimeTool. getTime(num, type, time, format, objType);
TimeTool. getBeforeTime(num, type, time, format, objType);
TimeTool. getAfterHour(num, time, format, objType);
TimeTool. getBeforeMonth(num, time, format, objType);
TimeTool. now(format, objType);
* @param startTime 开始时间
* @param endTime 结束时间,注:开始时间大于结束时间则返回负数
* @param type 时间类型,有 month(或 1),day(或 2),hour(或 3),min(或4),sec(或 5),ms(或 6);默认:day(或 2)。
TimeTool. countTime(startTime,endTime,type);
ps:我没有深入学习过day.js和moment.js,只是粗略的看了一下,感觉操作好麻烦,太多学习成本,所以写了一个简单的。
TimeTool. getTime(5, "hour", "2019-05-23 15:42:25"); // 获取 2019-05-23 15:42:25 后5个小时的时间 => 2019-05-23 20:42:25
TimeTool. getTime(-5, "hour", "2019-05-23 15:42:25"); // 获取 2019-05-23 15:42:25 前5个小时的时间 => 2019-05-23 10:42:25
TimeTool. getTime(-5, "hour", "2019-05-23 15:42:25","yyyyMMddHH"); // 获取 2019-05-23 15:42:25 前5个小时的时间 => 2019052310
TimeTool. getTime(-5, "hour", "2019-05-23 15:42:25","yyyy-MM-dd HH:00"); // 获取 2019-05-23 15:42:25 前5个小时的时间 => 2019-05-23 10:00
TimeTool. getBeforeTime(5, "hour", "2019-05-23 15:42:25"); // 获取 2019-05-23 15:42:25 前5个小时的时间 => 2019-05-23 10:42:25
TimeTool. getAfterHour(5, "2019-05-23 15:42:25"); // 获取 2019-05-23 15:42:25 后5个小时的时间 => 2019-05-23 20:42:25
TimeTool. getBeforeMonth(5, "2019-05-23 15:42:25"); // 获取 2019-05-23 15:42:25 前5个月的时间 => 2018-12-23 15:42:25
TimeTool. now(); // 获取当前时间
TimeTool. countTime("2017-05-23 15:42:25", "2019-11-23 15:42:25", "day"); // 计算 2017-05-23 15:42:25和2019-11-23 15:42:25 两个时间相差多少天
注:该工具不支持 rgba 颜色(因为透明颜色是需要结合父节点上的背景颜色才能转换的,父节点颜色未知)
* @param color 颜色值,可以是十六进制颜色,英文名称颜色,rgb颜色
ColorTool. toRGB(color);
ColorTool. toHEX(color);
* @param colors 颜色数组(可以是一个颜色值,将会使用白色与其配色;必须),可以是rgb,十六进制值,或英文名称值
* @param minNum 最小值(可选),默认值:0;
* @param maxNum 最大值(可选),默认值:1000;
* @param density 密度(可选),默认值:30;含义:把颜色范围分成30层,越高,色差越小
ColorTool. createRange(colors, minNum, maxNum, density); 插件-以值取色
ColorTool.toRGB("#ffffff");
ColorTool.toRGB("blue");
ColorTool.toHEX("rgb(24,35,34)");
ColorTool.toHEX("red");
问题一:假设 3000 对应 红色,100 对应 绿色,而且中间是绿色 >> 黄色 >> 红色的渐变。求 888 对应什么颜色?
创建对象:var range = ColorTool.createRange(["green","yellow","red"],3000,100);
获取颜色:var rgb = range.getRGB(888);
问题二:需求改变,2000 对应 红色,250 对应 绿色,求 888 对应什么颜色?
获取颜色:var rgb = range.getRGB(888,2000,250); //不需要再创建对象,但该范围只是当前一次有效
使用:
颜色: MAX: MIN: 测值: 结果:var list = [ {key1: 1, key2: "a", key3: "我"}, {key1: 2, key2: "b", key3: "是"}, {key1: 3, key2: "c", key3: "程"}, {key1: 4, key2: "d", key3: "序"}, {key1: 5, key2: "e", key3: "员"} ]; list.sortArray("key1", "desc");// 以 key1 字段倒序排序 list.sortArray("key2");// 以 key2 字段正序排序,排序的默认值:asc list.sortArray("key3", "asc");// 以 key3 字段正序排序 list.shuffleArray();// 打乱排序 // 注:sortArray和shuffleArray 方法主要是对 Array.sort() 方法的进一步扩展 var sum = list.sumArray("key1");// 对 key1 字段进行相加,当前结果:15
var str = "12345678.54321"; var val = 23456789.6543; var newStr = toThd(str);//注意:返回值是字符串类型 newStr = toThd(val);