兼容性函数

//跨浏览器获取样式

function getStyle(obj,attr){

    if(obj.currentStyle){  

        return  obj.currentStyle[attr];

     }else{

        return getComputedStyle(obj,false)[attr]; 

    }


//根据类名获取元素

function getElesByClassName(className) {

    if (document.getElementsByClassName) {

    //高级浏览器

        return document.getElementsByClassName(className);

    } else {

        //低版本浏览器

        //获取所有的标签元素

        var aTab = document.getElementsByTagName('*');

        // 类名为box1的标签元素

        var arr = [];

        for (var i = 0;i < aTab.length;i++) {

            // 'box1 box3 box4' == box1 ?

            // 分割字符串 --> 数组

            var arr1 = aTab[i].className.split(' ');

            // 判断arr1里面有没有box1,如果有,就添加到arr里面

            if (isFindInArr(arr1,className)) {

                arr.push(aTab[i]);

            }

        }

        return arr;

    }

}


//ajax兼容性写法(兼容IE6)

function oAjax(json){

    //url,data,type,successFn,errFn

    if(!json.url){

    return;

}

var type=json.type || 'get';

var data=json.data || {};

function json2url(data){

    var arr=[];

    //添加缓存因子

    data.t=Math.random();

    for(var name in json){

        arr.push(name+'='+data[name])

    }

    return arr.join('&');

}

if(window.XMLHttpREquest){

    var oAjax=new XMLHttpREquest();

}else{

    var oAjax=ActiveXObject('Microsoft.XMLHTTP');

}

switch(type.toLowerCase){

    case 'get':

    //建立连接

    oAjax.open('GET',json.url+'?'+json2url(data),true);

    //发送请求

    oAjax.send();

    break;

    case 'post':

    //建立连接

    oAjax.open('POST',json.url,true);

    //附加

    oAjax.setRequestHeader('Content-Type':'application/x-www-form-urlencoded')

    //发送

    oAjax.send(json2url(data))

    break;

}

oAjax.onreadystatechange=function(){

    if(oAjax.readyState==4){

        if(oAjax.status>=200 && oAjax.status<300 ||oAjax.status==304){

            json.success && json.success(oAjax.responseText);

        }else{

            json.error && json.error(oAjax.status)

        }

    }

}

}

你可能感兴趣的:(兼容性函数)