常用的高效JS代码收集

设为首页

function sethome(obj){obj.style.behavior='url(#default#homepage)';obj.setHomePage('http://www.gescms.net/');}

加入收藏

function addfav(){var sTitle = window.document.title;var sUrl = window.location.href;try {window.external.addFavorite(sUrl,sTitle);}catch(e){try{window.sidebar.addPanel(sTitle, sUrl, "");} catch(e){alert("加入收藏失败,请使用Ctrl+D进行添加");}}}

判断浏览器

/webkit/i.test(navigator.userAgent);//webkit内核

/MSIE/i.test(navigator.userAgent);//IE内核

替换字符串中所有的HTML标签

yourstr.replace(/<\/p>/g,"_br_").replace(/<[^>]+>/g,"").replace(/_br_/g,"<br />")//替换段落标签为回车标签,去除其余所有的HTML标签

将"-","_"紧邻的字符串驼峰处理

function toCamelCase(source) {

    if (source.indexOf('-') < 0 && source.indexOf('_') < 0) {

        return source;

    }

    return source.replace(/[-_][^-_]/g, function (match) {

        return match.charAt(1).toUpperCase();

    });

};

简单的横向无缝滚动代码

var speed=10;

mar2.innerHTML  =  mar1.innerHTML;

function  Marquee(){

   if(mar2.offsetWidth-marqdiv.scrollLeft<=0){

         marqdiv.scrollLeft-=mar1.offsetWidth;

   }

   else{

         marqdiv.scrollLeft++;

   }

}

var MyMar=setInterval(Marquee,speed);

marqdiv.onmouseover=function() {clearInterval(MyMar)};

marqdiv.onmouseout=function() {MyMar=setInterval(Marquee,speed)};

对应的HTML代码

<div id="marqdiv">

            <table width="100%" border="0" cellpadding="0" cellspacing="0" cellspace="0">

              <tbody>

                <tr>

                  <td valign="top" id="mar1">

                    <table class="marqueelist">

                       <tr>

                        <td>

                               <a href="Default.aspx?p=view_19_1_0_null" target="_blank"><img src="/Upload/1.jpg" title="标题一"/></a>

                        </td>

                        <td>

                               <a href="Default.aspx?p=view_19_3_0_null" target="_blank"><img src="/Upload/2.jpg" title="标题二"/></a>

                        </td>

                       </tr>

                      </table>

                    </td>

                  <td id="mar2" valign="top" width="1"></td>

                </tr>

              </tbody>

            </table>

        </div>

获取浏览器版本

function getiev() {

    var userAgent = window.navigator.userAgent.toLowerCase();

    $.browser.msie8 = $.browser.msie && /msie 8\.0/i.test(userAgent);

    $.browser.msie7 = $.browser.msie && /msie 7\.0/i.test(userAgent);

    $.browser.msie6 = !$.browser.msie8 && !$.browser.msie7 && $.browser.msie && /msie 6\.0/i.test(userAgent);

    var v;

    if ($.browser.msie8) {

        v = 8;

    }

    else if ($.browser.msie7) {

        v = 7;

    }

    else if ($.browser.msie6) {

        v = 6;

    }

    else { v = -1; }

    return v;

}

 动态载入Js

function ansyloadJS(url, onload) {

    var domscript = document.createElement('script');

    domscript.src = url;

    if (!!onload) {

        domscript.afterLoad = onload;

        domscript.onreadystatechange = function () {

            if (domscript.readyState == "loaded" || domscript.readyState == "complete" || domscript.readyState == "interactive") {

                domscript.afterLoad();

            }

        }

        domscript.onload = function () {

            if (!!domscript.afterLoad)

                domscript.afterLoad();

        }

    }

    document.getElementsByTagName('head')[0].appendChild(domscript);

}

 

 JS中Replace函数的用法:

 1 <script language="javascript">    

 2     var str="他今年22岁,她今年20岁,他的爸爸今年45岁,她的爸爸今年44岁,一共有4人"   

 3     function test($1){

 4         //该方法共有3个参数,前2个参数都是当前匹配值,最后个参数代表当前值在字符串中的位置

 5         //显示3个参数的值:alert(arguments[0]+'-'+arguments[1]+'-'+arguments[2]);}

 6         var gyear=(new Date()).getYear()-parseInt($1)+1;

 7         return $1+"("+gyear+"年出生)";

 8     }    

 9     var reg=new RegExp("(\\d+)岁","g");    

10     var newstr=str.replace(reg,test);    

11     document.write(str);    

12     document.write("<br/>"); 

13     document.write(newstr);    

14 </script> 

 JS一维数组内容排序:

 1 // type 参数 

 2 // 0 字母顺序(默认) 

 3 // 1 大小 比较适合数字数组排序

 4 // 2 拼音 适合中文数组

 5 // 3 乱序 有些时候要故意打乱顺序,呵呵

 6 // 4 带搜索 str 为要搜索的字符串 匹配的元素排在前面

 7 Array.prototype.SortBy = function(type,str){ 

 8     switch (type)

 9     { 

10         case 0:this.sort(); break;

11         case 1:this.sort(function(a,b){ return a-b; }); break;

12         case 2:this.sort(function(a,b){ return a.localeCompare(b) }); break;

13         case 3:this.sort(function(){ return Math.random()>0.5?-1:1; }); break;

14         case 4:this.sort(function(a,b){ return a.indexOf(str)==-1?1:-1; }); break;

15         default:this.sort();

16     }

17 }

 

你可能感兴趣的:(js)