关于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坐标,(不建议用,有浏览器不支持)

 

posted @ 2016-02-03 16:39  立于群  阅读(96)  评论(0)    收藏  举报