关于js
1)事件
鼠标滑过事件:mouseenter
鼠标离开事件:mouseleave
别用那俩了 有bug
2)动态增加的标签是没有JS事件的 。
例如 在load事件内为10个a标签绑定了单击事件(alert(1)),当你动态增加一个a标签的时候,这个a标签是没有任何JS事件的,除非重新绑定一次事件,不过css伪选择器可以涵括动态增加的标签。
3)JS取消事件冒泡
if (e && e.stopPropagation) {
//W3C取消冒泡事件
e.stopPropagation();
} else {
//IE取消冒泡事件
window.event.cancelBubble = true;
}
4)取消事件的默认动作。
e.preventDefault();
5) 获取2个日期之间的天数
function getDays(strDateStart, strDateEnd) {
var strSeparator = "-"; //日期分隔符
var oDate1;
var oDate2;
var iDays;
oDate1 = strDateStart.split(strSeparator);
oDate2 = strDateEnd.split(strSeparator);
var strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
var strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
iDays = parseInt((strDateS - strDateE) / 1000 / 60 / 60 / 24)//把相差的毫秒数转换为天数
return iDays;
}
6)两个日期之间的所有日期字符串
function show(value1, value2) {
var a = new Array;
var getDate = function (str) {
var tempDate = new Date();
var list = str.split("-");
tempDate.setFullYear(list[0]);
tempDate.setMonth(list[1] - 1);
tempDate.setDate(list[2]);
return tempDate;
}
var date1 = getDate(value1);
var date2 = getDate(value2);
if (date1 > date2) {
var tempDate = date1;
date1 = date2;
date2 = tempDate;
}
date1.setDate(date1.getDate());
while (!(date1.getFullYear() == date2.getFullYear() && date1.getMonth() == date2.getMonth() && date1.getDate() == date2.getDate())) {
a.push(date1.getFullYear() + "月" + (date1.getMonth() + 1) + "月" + date1.getDate()+"日");
date1.setDate(date1.getDate() + 1);
}
a.push(date1.getFullYear() + "月" + (date1.getMonth() + 1) + "月" + date1.getDate() + "日")
return a;
}
7) js 对象的原型。
声明一个对象后不要在内部添加方法,要在原型上扩展,否则每实例一个对象都会为该方法划分内存,所以尽量在原型上扩展。
8)js 生成范围随机数
Math.GetRandom = function (s, e) {
return Math.floor(s + Math.random() * (e - s));
}
9) js 获取元素的宽高
width : 获取元素的宽度,不含border padding margin。
offsetWidth : 获取元素除margin以为的宽度(高度)
clientWidth : IE中是获取元素的宽度,不含border padding margin;谷歌是包括width和border。
document.body.scrollTop + document.documentElement.scrollTop 表示滚动条向下滚动时页面已经滚动到上方(不可见)的像素数
10)js 坐标
clientX 相对于浏览器窗口的x坐标,
x 和clientX是一样效果(IE中稍不同)
pageX 相对于文档的x坐标,(不建议用,有浏览器不支持)

浙公网安备 33010602011771号