• javascript实用代码


    1、彻底屏蔽鼠标右键,可用于Table

    1
    <table oncontextmenu='return false'></table>

    2、取消选取、防止复制

    1
    <body onselectstart="return false"/>

    3、禁用复制、粘贴、剪切

    1
    onpaste="return false" oncopy="return false;" oncut="return false;"

    4、在收藏夹中显示出你的图标

    1
    <link rel="Bookmark" href="favicon.ico"/>

    5、关闭输入法

    1
    <input style="ime-mode:disabled"/>

    6、永远都会带着框架

    1
    <script language="JavaScript"><!--if(window == top)top.location.href = "frames.htm"; //frames.htm为框架网页// --></script>

    7、防止被人frame

    1
    2
    3
    <script LANGUAGE=JAVASCRIPT><!--
    if(top.location != self.location)top.location=self.location;
    // --></script>

    8、网页将不能被另存为

    1
    <noscript><iframe src=*.html></iframe></noscript>

    9、查看网页源代码

    1
    <input type=button value=查看网页源代码 onclick="window.location = 'view-source:http://www.pconline.com.cn'"/>

    10、光标是停在文本框文字的最后

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script language="javascript">
    function cc()
    {
    var e = event.srcElement;
    var r =e.createTextRange();
    r.moveStart("character",e.value.length);
    r.collapse(true);
    r.select();
    }
    </script>
    <input type=text name=text1 value="123" onfocus="cc()"/>

    11、最小化、最大化、关闭窗口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
    <param name="Command" value="Minimize"></param></object>
    <object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
    <param name="Command" value="Maximize"></param></object>
    <object id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
    <param NAME="Command" VALUE="Close"></param></object>
    <input type=button value=最小化 onclick=hh1.Click()/>
    <input type=button value=最大化 onclick=hh2.Click()/>
    <input type=button value=关闭 onclick=hh3.Click()/>

    12、网页不会被缓存

    1
    2
    3
    <meta HTTP-EQUIV="pragma" CONTENT="no-cache">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"/>
    <meta HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"/>或者<meta HTTP-EQUIV="expires" CONTENT="0"/></meta>

    13、去掉图片链接点击后,图片周围的虚线

    1
    <a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0/></a>

    14、在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动

    1
    2
    3
    <style>
    body{background-image:url(logo.gif); background-repeat:no-repeat;background-position:center;background-attachment: fixed}
    </style>

    15、TEXTAREA自适应文字行数

    1
    2
    <textarea rows=1 name=s1 cols=27 onpropertychange=
    "this.style.posHeight=this.scrollHeight"></textarea>

    16、脚本永不出错

    1
    2
    3
    4
    5
    6
    7
    8
    <script LANGUAGE="JavaScript">
    <!-- Hide
    function killErrors() {
    return true;
    }
    window.onerror = killErrors;
    // -->
    </script>

    17、ENTER键可以让光标移到下一个输入框

    1
    <input onkeydown="if(event.keyCode==13)event.keyCode=9"/>

    18、网页是否被检索

    1
    2
    3
    4
    5
    6
    7
    8
    <meta name="ROBOTS" content="属性值">
      其中属性值有以下一些:
      属性值为"all": 文件将被检索,且页上链接可被查询;
      属性值为"none": 文件不被检索,而且不查询页上的链接;
      属性值为"index": 文件将被检索;
      属性值为"follow": 查询页上的链接;
      属性值为"noindex": 文件不检索,但可被查询链接;
      属性值为"nofollow": 文件不被检索,但可查询页上的链接。</meta>

    19、格式化数字

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    /**
     * 格式化数字显示方式
     * @param num
     * @param pattern  '#,##0.00' '#,##0.##' '000000'
     */

    function formatNumber(num,pattern){
      var strarr = num?num.toString().split('.'):['0'];
      var fmtarr = pattern?pattern.split('.'):[''];
      var retstr='';  

      // 整数部分  
      var str = strarr[0];
      var fmt = fmtarr[0];
      var i = str.length-1;
      var comma = false;
      for(var f=fmt.length-1;f>=0;f--){
        switch(fmt.substr(f,1)){
         case '#':
            if(i>=0 ) retstr = str.substr(i--,1) + retstr;
            break;
          case '0':
            if(i>=0) retstr = str.substr(i--,1) + retstr;
            else retstr = '0' + retstr;
            break;
          case ',':
            comma = true;
            retstr=','+retstr;
            break;
        }
      }
      if(i>=0){
        if(comma){
          var l = str.length;
          for(;i>=0;i--){
            retstr = str.substr(i,1) + retstr;
            if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr;
          }
        }
        else retstr = str.substr(0,i+1) + retstr;
      }  

      retstr = retstr+'.';
      // 处理小数部分  
      str=strarr.length>1?strarr[1]:'';
      fmt=fmtarr.length>1?fmtarr[1]:'';
      i=0;
      for(var f=0;f<fmt .length;f++){
        switch(fmt.substr(f,1)){
          case '#':
            if(i<str.length) retstr+=str.substr(i++,1);
            break;
          case '0':
            if(i<str.length) retstr+= str.substr(i++,1);
            else retstr+='0';
            break;
        }
      }
      return retstr.replace(/^,+/,'').replace(/.$/,'');
    }

    20、时间验证

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function isCorrectTime(str){ //like:13:04:06
        var a = str.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2})$/);
        if (a == null) {alert('输入的参数不是时间格式'); return false;}
        if (a[1]>24 || a[3]>60 || a[4]>60){
            alert("时间格式不对");
            return false;
         }
         return true;
    }
    function isCorrectDate(str){ //2003-12-05
        var r = str.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/);
        if(r==null) return false;
        var d= new Date(r[1], r[3]-1, r[4]);
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }
    function isCorrectDateTime(str){ //2003-12-05 13:04:06
        var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/;
        var r = str.match(reg);
        if(r==null) return false;
        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
    }

    21、添加到收藏夹

    1
    window.external.AddFavorite('http://www.orgcent.com');

    22、模态对话框

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <input type="button" value="打开对话框" onclick="showDialog('#')"/>
      <script LANGUAGE="JavaScript">
      <!--
      function  showDialog(url){
       if(document.all){//IE
         feature="dialogWidth:300px;dialogHeight:200px;status:no;help:no";
       window.showModalDialog(url,null,feature);
       }else{
         //modelessDialog可以将modal换成dialog=yes
       feature ="width=300,height=200,menubar=no,toolbar=no,location=no,";
       feature+="scrollbars=no,status=no,modal=yes";
       window.open(url,null,feature);
       }
      }
      //-->  
    </script>

    23、屏蔽打印按钮

    1
    2
    3
    4
    5
    <style type="text/css">
    <!--
    @media print { .disp{display: none;}}
    -->
    </style>

    24、动态改变CSS

    1
    2
    3
    4
    5
    6
    7
    8
    function changeLinkCss(url){
        var link_css=document.getElementsByTagName('link');
        for(var i=0;i<link_css .length;i++){
            if(link_css[i].rel.toLowerCase() == 'stylesheet'){
                link_css[i].href = url;
            }
        }
    }

    25、获得当前目录路径

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function getCurrentDirectory(){
    var locHref = location.href;
    var locArray = locHref.split("/");
    /**这里测试locArray效果**
        for(x in locArray){
          document.write("locArray[");
          document.write(x+"]: ");
          document.write(locArray[x]+"<br />");
        }
        **/

        delete locArray[locArray.length-1];
        var dirTxt = locArray.join("/");
        return dirTxt;
    }
    document.write(getCurrentDirectory());

    26、置下一元素焦点

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    function setNextFocus(){
        var srcObj = event.srcElement;
        var len = document.all.length;
        var idx = -1;
        for(var i=0; i<len ; i++){
            var curObj = document.all[i];
            if(curObj == srcObj){
                idx = i;
                break;
            }
        }
        if(idx != -1 && idx < len-1){
            for(var j=idx+1 ;j<len;j++){
                if(checkTags(document.all[j])){
                    document.all[j].focus();
                    return;
                }
            }
        }
    }
    function checkTags(obj){
        if(obj.readOnly == true || obj.disabled == true) {return false;}
        var tag_name = obj.tagName;
        var el_tags = ['select','input','textarea'];
        for(var i=0; i<el_tags.length; i++){
            if(el_tags[i] == tag_name.toLowerCase()){
                return true;
            }
        }
        return false;
    }

    27、javascript之可变参数arguments

    使用JavaScript函数内置的arguments可以遍历所有传入的参数。arguments有个callee属性,可以调用arguments自身所在的函数。也就是说,可以通过这个属性递归调用函数自身

    1
    2
    3
    4
    5
    6
    7
    8
    9
    function sum() {
        var total = 0;
        for(var i = 0; i < arguments.length; i++) {
            total += arguments[i];
        }
        alert(total);
    }
    sum(1, 2);
    sum(1, 2, 3);
    1
    2
    3
    4
    5
    6
    7
    function sum(n) {
        if(n < = 1) {
            return 1;
        }
        return n + arguments.callee(n - 1); // 递归调用自身
    }
    alert(sum(100));

    28、document.execCommand()

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <input type=button value=剪切 onclick=document.execCommand('Cut')/>
    <input type=button value=拷贝 onclick=document.execCommand('Copy')/>
    <input type=button value=粘贴 onclick=document.execCommand('Paste')/>
    <input type=button value=撤消 onclick=document.execCommand('Undo')/>
    <input type=button value=重做 onclick=document.execCommand('Redo')/>
    <input type=button value=删除 onclick=document.execCommand('Delete')/>
    <input type=button value=黑体 onclick=document.execCommand('Bold')/>
    <input type=button value=斜体 onclick=document.execCommand('Italic')/>
    <input type=button value=下划线 onclick=document.execCommand('Underline')/>
    <input type=button value=停止 onclick=document.execCommand('stop')/>
    <input type=button value=保存 onclick=document.execCommand('SaveAs')/>
    <input type=button value=另存为 onclick=document.execCommand('Saveas',false,'c:test.htm')/>
    <input type=button value=字体 onclick=document.execCommand('FontName',false,fn)/>
    <input type=button value=字体大小 onclick=document.execCommand('FontSize',false,fs)/>
    <input type=button value=刷新 onclick=document.execCommand('refresh',false,0)/>

    isNaN是测试是否为数值型 ,限制输入只能为数值如:1981.121,允许最多有一个小数点

    1
    <input type="text" name="text" onkeyup="if(isNaN(value))execCommand('undo')" />

    29、取消事件冒泡

    1
    event.cancelBubble=true;

    30、禁止选择文字

    1
    <div unselectable="on" onselectstart="return false;" style="-moz-user-select:none;" >禁止选择,unselectable为IE准备 , onselectstart为Chrome、Safari准备    -moz-user-select是FF的 </div>

    31、js释放内存

    1
    2
    3
    4
    5
    6
    7
    System.gc = function(){
        if(System.isIeBrowser())
        {
          CollectGarbage();
          setTimeout("CollectGarbage();",   1);
        }
     }

    32、QVOD播放器代码

    1
    2
    3
    4
    <object classid="clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF" width="500" height="400" id="QvodPlayer" name="QvodPlayer" onError=if(window.confirm('请您先安装QvodPlayer软件,然后刷新本页才可以正常播放.')){window.open('http://www.qvod.com/download.htm')}else{self.location='http://www.qvod.com/'}>
       <param NAME='URL' VALUE='此处请替换成QVOD播放链接地址'>
       </param><param NAME='Autoplay' VALUE='1'>
    </param></object>

    33、图片旋转

    1
    2
    3
    4
    function imageTurn(id,filter){//水平:"fliph"与垂直:"flipV"
        var img = document.getElementById(id);
        img.style.filter = img.style.filter ==filter ? "" : filter;
    }

    34、滤镜RevealTrans (duration=转换的秒数,transition=转换的类型)

    transition的取值为0-23。代表24种过渡效果。可以用在整个页面上,也可以用在页面的某一个物件上。

    1
    2
    3
    <meta http-equiv='Page-Exit’ CONTENT='RevealTrans(Duration=0.5,Transition=23)'>

    <img id="img1" src="img1.jpg" width="300" height="226" style="filter:revealTrans(Transition=1,Duration=1.5);" /></meta>

    35、不提示关闭窗口

    1
    2
    3
    4
    5
    function closeWindow(){
      window.opener=null;
      window.open('','_self');
      window.close();
    }

    36、不用eval,解析JSON

    1
    2
    3
    4
    5
    function jsonDecode(data){
        return (new Function("return " + data))();
    }

    其他要想实现类似eval的功能,在DOM中创建一个script节点,然后script.text = data;

     37、双击:
    function MM_openBrWindow(theURL,winName,features) {
        window.open(theURL,winName,features);
    }

    感谢:http://log-cd.javaeye.com

    转载请注明地址: http://orgcent.com/javascript-snippets/ | 萝卜白菜的博客

  • 相关阅读:
    python中的线程(zz)
    Bzoj1014 外星人Prefix
    ABC
    终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
    我去面试没带简历,你让我走人?
    利用Python框架pyxxnet_project实现的网络服务
    我以为我对Mysql索引很了解,直到我遇到了阿里的面试官
    CSS必备知识大全
    致 Python 初学者
    从入门到精通,Java学习路线导航
  • 原文地址:https://www.cnblogs.com/anuoruibo/p/2525994.html
Copyright © 2020-2023  润新知