JS封装基本方法
获取引用js的绝对路径:var getPath = function(){var jsPath = document.currentScript ? document.currentScript.src : function(){
var js = document.scripts
,last = js.length - 1
,src;
for(var i = last; i > 0; i--){
if(js.readyState === 'interactive'){
src = js.src;
break;
}
}
return src || js.src;
}();
return jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
}()
console.log(decodeURIComponent)
获取节点的style属性值:
var getStyle = function(node, name){
var style = node.currentStyle ? node.currentStyle : win.getComputedStyle(node, null);
return style(name);
};本地内存相关
// 本地存储相关
localStorage: {
getItem: function(key) {
return JSON.parse(localStorage.getItem(key));
},
setItem: function(key, data) {
var d = (typeof data === 'object' || typeof data === 'array') ?
JSON.stringify(data) : data;
localStorage.setItem(key, d);
},
removeItem: function(key) {
localStorage.removeItem(key);
},
clear: function() {
localStorage.clear();
}
}cookie相关
setCookie: function(name, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + (expiredays || 30));
document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exdate.toGMTString();
}
getCookie: function(name) {
var arr,
reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return unescape(arr);
} else {
return null;
}
}
delCookie: function(name) {
this.setCookie(name, "", -1);
},日期相关:
//日期
Date.prototype.pattern = function(fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
var week = {
"0": "/u65e5",
"1": "/u4e00",
"2": "/u4e8c",
"3": "/u4e09",
"4": "/u56db",
"5": "/u4e94",
"6": "/u516d"
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
if (/(E+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week);
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o) : (("00" + o).substr(("" + o).length)));
}
}
return fmt;
};// 时间转10位时间戳
get10Time: function(time) {
var date = time ? new Date(time) : new Date();
return Math.round(date.getTime() / 1000);
},
// 10位时间戳转时间
timeToStr: function(time, fmt) {
return new Date(time * 1000).pattern(fmt || 'yyyy-MM-dd');
},//秒数转时分秒
formatSeconds: function(second) {
var theTime = parseInt(second); // 秒
var theTime1 = 0; // 分
var theTime2 = 0; // 小时
// alert(theTime);
if (theTime > 60) {
theTime1 = parseInt(theTime / 60);
theTime = parseInt(theTime % 60);
// alert(theTime1+"-"+theTime);
if (theTime1 > 60) {
theTime2 = parseInt(theTime1 / 60);
theTime1 = parseInt(theTime1 % 60);
}
}
var result = "" + parseInt(theTime) + "秒";
if (theTime1 > 0) {
result = "" + parseInt(theTime1) + "分" + result;
}
if (theTime2 > 0) {
result = "" + parseInt(theTime2) + "小时" + result;
}
return result;
},url相关:
// 查询当前url中的参数的值
getQueryString: function(name, url) {
if (url === undefined) {
url = $.getUrl();
}
if (url.indexOf('?') == -1) {
return undefined;
}
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var q = url.split("?");
var r = q.match(reg);
if (r != null) return unescape(r);
},
// 当前url
getUrl: function() {
return location.href;
},
页:
[1]