zoukankan      html  css  js  c++  java
  • 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/ | 萝卜白菜的博客

  • 相关阅读:
    CodeForces 156B Suspects(枚举)
    CodeForces 156A Message(暴力)
    CodeForces 157B Trace
    CodeForces 157A Game Outcome
    HDU 3578 Greedy Tino(双塔DP)
    POJ 2609 Ferry Loading(双塔DP)
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制
  • 原文地址:https://www.cnblogs.com/anuoruibo/p/2525994.html
Copyright © 2011-2022 走看看