• 使用正则和replace实现千位分隔符

    1
    '1234567890'.replace(/\B\d{3}/g,',$&’);
  • css3 中使图片变色的方式:filter(gray)

  • css3 中的动态计算函数:calc() = calc(四则运算),需要注意的是,运算符前后都需要保留一个空格 , 例如:

    1
    width: calc(100% - 10px)
  • 100vh表示屏幕内部高度,100vw表示屏幕内部宽度

  • 怎么让Chrome支持小于12px 的文字

    1
    p{font-size:10px;-webkit-transform:scale(0.8);}//0.8是缩放比例
  • 如果需要手动写动画,你认为最小时间间隔是多久

    1
    多数显示器默认频率是60Hz,即1秒刷新60次,所以理论上最小间隔为1/601000ms16.7ms
  • 如何判断一个对象是否属于某个类?

    1
    使用instanceofif(a instanceof Person){alert('yes');}
  • 写一个通用的事件侦听器函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    // event(事件)工具集,来源:github.com/markyun
    RocWang.Event = {
    // 页面加载完成后
    readyEvent: function (fn) {
    if (fn == null) {
    fn = document;
    }
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
    window.onload = fn;
    } else {
    window.onload = function () {
    oldonload();
    fn();
    };
    }
    },
    // 视能力分别使用dom0||dom2||IE方式 来绑定事件
    // 参数: 操作的元素,事件名称 ,事件处理程序
    addEvent: function (element, type, handler) {
    if (element.addEventListener) {
    //事件类型、需要执行的函数、是否捕捉
    element.addEventListener(type, handler, false);
    } else if (element.attachEvent) {
    element.attachEvent('on' + type, function () {
    handler.call(element);
    });
    } else {
    element['on' + type] = handler;
    }
    },
    // 移除事件
    removeEvent: function (element, type, handler) {
    if (element.removeEnentListener) {
    element.removeEnentListener(type, handler, false);
    } else if (element.datachEvent) {
    element.detachEvent('on' + type, handler);
    } else {
    element['on' + type] = null;
    }
    },
    // 阻止事件 (主要是事件冒泡,因为IE不支持事件捕获)
    stopPropagation: function (ev) {
    if (ev.stopPropagation) {
    ev.stopPropagation();
    } else {
    ev.cancelBubble = true;
    }
    },
    // 取消事件的默认行为
    preventDefault: function (event) {
    if (event.preventDefault) {
    event.preventDefault();
    } else {
    event.returnValue = false;
    }
    },
    // 获取事件目标
    getTarget: function (event) {
    return event.target || event.srcElement;
    },
    // 获取event对象的引用,取到事件的所有信息,确保随时能使用event;
    getEvent: function (e) {
    var ev = e || window.event;
    if (!ev) {
    var c = this.getEvent.caller;
    while (c) {
    ev = c.arguments[0];
    if (ev && Event == ev.constructor) {
    break;
    }
    c = c.caller;
    }
    }
    return ev;
    }
    };

 评论