• 史上自定义 JavaScript 函数Top 10


    史上自定义 JavaScript 函数Top 10

     
     
    发布:wpulog | 发布时间: 2010年4月9日
    10个被使用的最普遍的用户自定义函数,addEvent(),addLoadEvent(),getElementsByClass(),getCookie(),setCookie(), deleteCookie()等。
    10) addEvent()
     
    function addEvent(elm, evType, fn, useCapture) {
        if (elm.addEventListener) {
            elm.addEventListener(evType, fn, useCapture);
            return true;
        }
        else if (elm.attachEvent) {
            var r = elm.attachEvent('on' + evType, fn);
            return r;
        }
        else {
            elm['on' + evType] = fn;
        }
    }
     
    9) addLoadEvent()
     
    addLoadEvent() by Simon Willison
    function addLoadEvent(func) {
        var oldonload = window.onload;
        if (typeof window.onload != 'function') {
            window.onload = func;
        }
        else {
            window.onload = function() {
                oldonload();
                func();
            }
        }
    }
     
    8)getElementsByClass
     
    function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
            node = document;
        if ( tag == null )
            tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
        for (i = 0, j = 0; i < elsLen; i++) {
            if ( pattern.test(els[i].className) ) {
                classElements[j] = els[i];
                j++;
            }
        }
        return classElements;
    }
     
    7) cssQuery()
    cssQuery官方网址
    6) toggle()
     
     
    toggle() by the masses
    function toggle(obj) {
        var el = document.getElementById(obj);
        if ( el.style.display != 'none' ) {
            el.style.display = 'none';
        }
        else {
            el.style.display = '';
        }
    }
     
    5) insertAfter()
     
    insertAfter() on public domain
    function insertAfter(parent, node, referenceNode) {
        parent.insertBefore(node, referenceNode.nextSibling);
    }
     
    4) inArray()
     
    Array.prototype.inArray = function (value) {
        var i;
        for (i=0; i < this.length; i++) {
            if (this[i] === value) {
                return true;
            }
        }
        return false;
    };
     
     
    3, 2, & 1) getCookie(), setCookie(), deleteCookie()
     
    function getCookie( name ) {
        var start = document.cookie.indexOf( name + "=" );
        var len = start + name.length + 1;
        if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
            return null;
        }
        if ( start == -1 ) return null;
        var end = document.cookie.indexOf( ';', len );
        if ( end == -1 ) end = document.cookie.length;
        return unescape( document.cookie.substring( len, end ) );
    }
     
    function setCookie( name, value, expires, path, domain, secure ) {
        var today = new Date();
        today.setTime( today.getTime() );
        if ( expires ) {
            expires = expires * 1000 * 60 * 60 * 24;
        }
        var expires_date = new Date( today.getTime() + (expires) );
        document.cookie = name+'='+escape( value ) +
            ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
            ( ( path ) ? ';path=' + path : '' ) +
            ( ( domain ) ? ';domain=' + domain : '' ) +
            ( ( secure ) ? ';secure' : '' );
    }
     
    function deleteCookie( name, path, domain ) {
        if ( getCookie( name ) ) document.cookie = name + '=' +
                ( ( path ) ? ';path=' + path : '') +
                ( ( domain ) ? ';domain=' + domain : '' ) +
                ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
    }
    英文原文网址
    转载必须注明!
    相关文章:
    XSS vector - 利用纯文本标签进行标记混淆(躲避过滤器)
    XSS vector - 通过 onscroll autofocus执行javascript
    XSS 攻击向量(vector) - formaction
    Javascript 延迟函数调用
    javascript 数字格式化代码
    javascript COOKIE操作函数
    javascript RGB颜色值转换为16进制颜色值
    javascript计算页面加载时间 
  • 相关阅读:
    Android中文API合集(6) + 开发者指南合集(1) (chm格式)
    Android中文API(131) —— GpsStatus
    Android开发指南(31) —— Multimedia and Camera JetPlayer
    Android 中文 SDK —— ADT 14.0.0 (ADT14插件更新说明)
    Android开发者指南(26) —— Resource Types Layout
    Android开发指南(33) —— Multimedia and Camera Camera
    使用Apache FtpServer搭建FTP服务器 [FlashFXP]
    [Android]ViewSwitcher使用范例
    Android中文API(136) —— Bitmap
    Android 4.0 开发者指南(28) —— Resource Types More Types
  • 原文地址:https://www.cnblogs.com/dingyuanxin/p/3902352.html
Copyright © 2020-2023  润新知