zoukankan      html  css  js  c++  java
  • 常用的高效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 }
  • 相关阅读:
    C#中文件操作【File】和【Directory】
    MySql的不同之处
    FileStream读写文件【StreamWriter 和 StreamReader】
    将对象序列化为XML文档
    SQL自增长的数据插入
    POJ3356 AGTC (最短编辑距离问题)
    POJ3070Fibonacci(矩阵快速幂求Fibonacci数列)
    HDOJ1058 Humble Numbers
    第三届软件大赛预赛A组试题及答案
    HDOJ4526 威威猫系列故事——拼车记
  • 原文地址:https://www.cnblogs.com/xyd21c/p/2253690.html
Copyright © 2011-2022 走看看