OpenAuth.Net/OpenAuth.Mvc/wwwroot/js/flow/GooFunc.js
2020-10-22 14:59:36 +08:00

117 lines
3.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*本系列框架中,一些用得上的小功能函数,一些UI必须使用到它们,用户也可以单独拿出来用*/
//获取一个DIV的绝对坐标的功能函数,即使是非绝对定位,一样能获取到
function getElCoordinate(dom) {
var t = dom.offsetTop;
var l = dom.offsetLeft;
dom=dom.offsetParent;
while (dom) {
t += dom.offsetTop;
l += dom.offsetLeft;
dom=dom.offsetParent;
}; return {
top: t,
left: l
};
}
//兼容各种浏览器的,获取鼠标真实位置
function mousePosition(ev){
if(!ev) ev=window.event;
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.documentElement.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.documentElement.scrollTop - document.body.clientTop
};
}
//给DATE类添加一个格式化输出字串的方法
Date.prototype.format = function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
//quarter
"q+" : Math.floor((this.getMonth()+3)/3),
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
//JS]根据格式字符串分析日期MM与自动匹配两位的09和一位的9
//alert(getDateFromFormat(sDate,sFormat));
function getDateFromFormat(dateString,formatString){
var regDate = /\d+/g;
var regFormat = /[YyMmdHhSs]+/g;
var dateMatches = dateString.match(regDate);
var formatmatches = formatString.match(regFormat);
var date = new Date();
for(var i=0;i<dateMatches.length;i++){
switch(formatmatches[i].substring(0,1)){
case 'Y':
case 'y':
date.setFullYear(parseInt(dateMatches[i]));break;
case 'M':
date.setMonth(parseInt(dateMatches[i])-1);break;
case 'd':
date.setDate(parseInt(dateMatches[i]));break;
case 'H':
case 'h':
date.setHours(parseInt(dateMatches[i]));break;
case 'm':
date.setMinutes(parseInt(dateMatches[i]));break;
case 's':
date.setSeconds(parseInt(dateMatches[i]));break;
}
}
return date;
}
//货币分析成浮点数
//alert(parseCurrency("¥1,900,000.12"));
function parseCurrency(currentString){
var regParser = /[\d\.]+/g;
var matches = currentString.match(regParser);
var result = '';
var dot = false;
for(var i=0;i<matches.length;i++){
var temp = matches[i];
if(temp =='.'){
if(dot) continue;
}
result += temp;
}
return parseFloat(result);
}
//将#XXXXXX颜色格式转换为RGB格式并附加上透明度
function brgba(hex, opacity) {
if( ! /#?\d+/g.test(hex) ) return hex; //如果是“red”格式的颜色值则不转换。//正则错误参考后面的PS内容
var h = hex.charAt(0) == "#" ? hex.substring(1) : hex,
r = parseInt(h.substring(0,2),16),
g = parseInt(h.substring(2,4),16),
b = parseInt(h.substring(4,6),16),
a = opacity;
return "rgba(" + r + "," + g + "," + b + "," + a + ")";
}
/*
* AMD模块中载入器里的配置:
* exports 可以把某个非requirejs方式的代码中的某一个全局变量暴露出去当作该模块以引用
paths: {
'jquery': '/js/lib/jquery/jquery.min',
'gooflow': '/js/lib/jquery/jquery.min',
},
shim: {
'gooflow': {
deps: ['/js/lib/ueditor/ueditor.config.js', 'css!/js/lib/ueditor/themes/default/css/ueditor']
exports: 'GooFlow'
}
},
*/