1. json转化
简单通常使用eval("("+s+")");来转化为json通常用安全问题,今看到baidu tangram.js 使用:
function (data) {
return (new Function("return " + data))();
};
so资料 http://snandy.javaeye.com/blog/615216
http://snandy.javaeye.com/blog/678587
2.子窗口描点问题:
在iframe中有描点链接 如果在父窗口中有滚动条或者没有滚动条而实际使用了overflow:hidden使其隐藏,再点击描点的时候会造成top窗口的滑动;
3.计算某个时间距离当前时间的长度:
Date对象有个parse方法,并返回 1970/1/1 午夜距离该日期时间的毫秒数;Date有许多方法使用的时候往往忘记;平时多加记忆
http://blog.csdn.net/xxd851116/archive/2009/05/26/4218858.aspx
http://www.w3school.com.cn/js/jsref_parse.asp;
http://www.w3school.com.cn/js/jsref_obj_date.asp
http://www.cnblogs.com/east-liujie/archive/2006/10/21/535784.html
代码
function getDateDiff(d){
var now = new Date().getTime();
var diffValue = now - Date.parse(d);
if(diffValue < 0){
return ;
}
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var month = day * 30;
var monthC =diffValue/month;
var weekC =diffValue/(7*day);
var dayC =diffValue/day;
var hourC =diffValue/hour;
var minC =diffValue/minute;
if(monthC>=1){
result=parseInt(monthC) + "个月前";
}else if(weekC>=1){
result=parseInt(weekC) + "个星期前";
}else if(dayC>=1){
result= parseInt(dayC) +"天前";
}else if(hourC>=1){
result= parseInt(hourC) +"个小时前";
}else if(minC>=1){
result= parseInt(minC) +"分钟前";
}else{
result="";
}
return result;
};
加减日期:
代码
/*
* 根据传入日期,要处理的天数,进行加/减计算。
* 日期格式:XXXX年XX月XX日
*/
function addByTransDate(dateParameter, num) {
var translateDate = "", dateString = "", monthString = "", dayString = "";
translateDate = dateParameter.replace("-", "/").replace("-", "/");;
var newDate = new Date(translateDate);
newDate = newDate.valueOf();
newDate = newDate + num * 24 * 60 * 60 * 1000;
newDate = new Date(newDate);
//如果月份长度少于2,则前加 0 补位
if ((newDate.getMonth() + 1).toString().length == 1) {
monthString = 0 + "" + (newDate.getMonth() + 1).toString();
alert(translateDate);
} else {
monthString = (newDate.getMonth() + 1).toString();
alert(translateDate);
}
//如果天数长度少于2,则前加 0 补位
if (newDate.getDate().toString().length == 1) {
dayString = 0 + "" + newDate.getDate().toString();
} else {
dayString = newDate.getDate().toString();
}
dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString;
return dateString;
}
function reduceByTransDate(dateParameter, num) {
var translateDate = "", dateString = "", monthString = "", dayString = "";
translateDate = dateParameter.replace("-", "/").replace("-", "/");;
var newDate = new Date(translateDate);
newDate = newDate.valueOf();
newDate = newDate - num * 24 * 60 * 60 * 1000;
newDate = new Date(newDate);
//如果月份长度少于2,则前加 0 补位
if ((newDate.getMonth() + 1).toString().length == 1) {
monthString = 0 + "" + (newDate.getMonth() + 1).toString();
alert(translateDate);
} else {
monthString = (newDate.getMonth() + 1).toString();
alert(translateDate);
}
//如果天数长度少于2,则前加 0 补位
if (newDate.getDate().toString().length == 1) {
dayString = 0 + "" + newDate.getDate().toString();
} else {
dayString = newDate.getDate().toString();
}
dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString;
return dateString;
}