自分で整理したいくつかjavascriptの常用関数

7957 ワード

勉強したばかりなのに、原生はとても書きにくいと思いました.勉強のために、いつもJQを使ってはいけません.だから、自分が必要な時に、いつでも使うように、いくつかの常用関数を整理しました.
/*          ,        ,        */
var _Doc = document;

// index(this/obg)     
function index(current, obj){
    for (var i = 0; i < obj.length; i++) {
        if (obj[i] == current) {
            return i; 
        }
    }
}

// hide(obj) / show(obj)   /     

function hide(obj){
    obj.style.display = 'none';
}
function show(obj){
    obj.style.display = 'block';
}

// getId(IdName) /   ID   

function GetId(IdName){
    return _Doc.getElementById(IdName);
}

// GetTag(TagName) /    tagname   

function GetTag(Fathers,TagName){
    return Fathers.getElementsByTagName(TagName);
}

// ajax       :http://www.cnblogs.com/yjzhu/archive/2013/01/28/2879542.html

function ajax(url, fnSucc, fnFaild){
    //1.    
    var oAjax = null;
    if(window.XMLHttpRequest){
        oAjax = new XMLHttpRequest();
    }else{
        oAjax = new ActiveXObject("Microsoft.XMLHTTP");
    }

    //2.      
    oAjax.open('GET', url, true);   //open(  , url,     )

    //3.     
    oAjax.send(null);

    //4.    
    oAjax.onreadystatechange = function(){  //OnReadyStateChange  
        if(oAjax.readyState == 4){          //4   
            if(oAjax.status == 200){         //200   
                fnSucc(oAjax.responseText) 
            }else{
                if(fnFaild){
                    fnFaild();
                }
            }
        }
    };
}

// Load(url,obj)   ,    ajax    ,     load      

function Load(url,obj){
    ajax(url,function(str){
        obj.innerHTML = str;
    });
}

//           
function DelBlank(str){
    return str.replace(/(^\s*)|(\s*$)/g, '');
}

//                   

function DelSomeStr(Str,SomeStr) {
    return Str.replace(SomeStr,"");
}

//               

function HasBlank(str){
    if (str.indexOf(" ")==-1) {
        return true;
    } else{
        return false;
    };
}

//            class    ,   ,     
function HasClass(obj){
    if (obj.getAttribute("class")) {
        return true;
    } else{
        return false;
    };
}

//       class

function GetClass(obj){
    if (HasClass(obj)) {
        return obj.getAttribute("class");
    }
}

//         class

function AddClass(obj,CName){

    //      class

    if (HasClass(obj)) {

        //       ,      ,    OldClass
        var OldClass = DelBlank(GetClass(obj));

        //                   ,         ,     
        //   ,      
        if (CName!=OldClass) {
            obj.className = OldClass+' '+CName;
        }
    } else{

        //             
        obj.className = CName;
    };
}

//         class
function RemoveClass(obj,CName){
    if (HasClass(obj)){
        var OldClass = DelBlank(GetClass(obj));
        //         。        ,      ,         class    
        obj.setAttribute("class", DelBlank(DelSomeStr(OldClass,CName)))
    }
}
これは今日書いたのです.私は新しい考えをこの中に整理します.