• 好的js函数


    得到文档内容的宽度和高度

    function getElementport(){
        if(document.compatMode=="BackCompat"){
            return {
                Math.max(document.body.scrollWidth,document.body.clientWidth),
                height:Math.max(document.body.scrollHeight,document.body.clientHeight)
            }   
        }else{
            return {
                Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth),
                height:Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight)   
            }   
        }
    }

    得到元素偏移量

    function getElementLeft(element){
    var left=element.offsetLeft;
    var parent=element.offsetParent;
    while(parent!=null){
    left+=parent.offsetLeft;
    parent=parent.offsetParent;
    }
    return left;
    }

    在ie中的createDocument();

    function o_createDocument(){
        if(typeof arguments.callee.activeXString!="string"){
            var versions=["MSXML2.DOMDcument.6.0","MSXML2.Document.3.0","MSXML2.Document"],
            i,
            len;
            for(i=0,len=versions.length;i<len;i++){
                try{
                    new ActiveXObject(versions[i]);
                    arguments.callee.activeXString=versions[i];
                    break;
                }catch(ex){
                }
            }
        }
        return new ActiveXObject(arguments.callee.activeXString);
    }

    这个函数的思想非常好,第一点,首先通过判断函数这个对象有没有activexString这个对象,因为这个函数只要执行一次,就会存在activexString这个变量,第二次执行就不会重复生成;第二点,就是通过try-catch语句来解决兼容性问题,真是聪明之极,如果有错误,就转到catch语句中,不执行下面语句,但是循环继续进行,这太好了;

    原生ajax函数

    function get_ajax(url,param,func,type){
     if(param){
      for(var i in param){
       url+=url.indexOf("?")==-1?"?":"&";
       url+=i+"="+param[i];
      }
     }
     var xhr=new XMLHttpRequest();
     xhr.onreadystatechange=function(){
      if(xhr.readyState==4){
       if(xhr.status>=200&&xhr.status<300||xhr.status==304){
        func(xhr.responseText);
       }
      }
     }
     xhr.open("get",url,type)
     xhr.send(null);
    } 
    

      

  • 相关阅读:
    Excelファイルを扱う方法
    BINARYSEARCH有り無しのパフォーマンスの違い
    権限チェック
    ラジオボタンで選択項目を動的に変更
    ALVのイベントを取得する方法
    LOOP AT SCREEN
    MOVE-PERCENTAGE(文字列の部分の代入)
    Java快捷键与搜狗输入法快键的冲突
    Android之RadioButton多行
    Android之socket服务端
  • 原文地址:https://www.cnblogs.com/nier/p/2472734.html
Copyright © 2020-2023  润新知