Javascript常用技巧20個(gè)

字號(hào):


    1.如何設(shè)定打開頁面的大小 <body onload="top.resizeTo(300,200);">
    打開頁面的位置<body>
    2.在頁面中如何加入不是滿鋪的背景圖片,拉動(dòng)頁面時(shí)背景圖不動(dòng) <STYLE>
    body
    {background-image:url(/logo.gif); background-repeat:no-repeat;
    background-position:center;background-attachment: fixed}
    </STYLE>
    3. 檢查一段字符串是否全由數(shù)字組成 <script language="Javascript"><!--
    function checkNum(str){return str.match(//D/)==null}
    alert(checkNum("1232142141"))
    alert(checkNum("123214214a1"))
    // --></script>
    4. 獲得一個(gè)窗口的大小 document.body.clientWidth; document.body.clientHeight
    5. 怎么判斷是否是字符 if (/[^/x00-/xff]/g.test(s))
    alert("含有漢字");
    else
    alert("全是字符");
    6.TEXTAREA自適應(yīng)文字行數(shù)的多少 <textarea rows=1 name=s1 cols=27 onpropertychange "this.style.posHeight=this.scrollHeight">
    </textarea>
    7. 日期減去天數(shù)等于第二個(gè)日期 <script language=Javascript>
    function cc(dd,dadd)
    {
    //可以加上錯(cuò)誤處理
    var a = new Date(dd)
    a = a.valueOf()
    a = a - dadd * 24 * 60 * 60 * 1000
    a = new Date(a)
    alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
    }
    cc("12/23/2002",2)
    </script>
    8. 選擇了哪一個(gè)Radio <HTML><script language="vbscript">
    function checkme()
    for each ob in radio1
    if ob.checked then
    window.alert ob.value
    next
    end function
    </script><BODY>
    <INPUT name="radio1" type="radio" value="/style" checked>Style
    <INPUT name="radio1" type="radio" value="/blog/barcode">Barcode
    <INPUT type="button" value="check" onclick="checkme()">
    </BODY></HTML>
    9.腳本永不出錯(cuò) <SCRIPT LANGUAGE="JavaScript">
    <!-- Hide
    function killErrors() {
    return true;
    }
    window.onerror = killErrors;
    // -->
    </SCRIPT>
    10.ENTER鍵可以讓光標(biāo)移到下一個(gè)輸入框 <input onkeydown="if(event.keyCode==13)event.keyCode=9">
    11. 檢測(cè)某個(gè)網(wǎng)站的鏈接速度:
    把如下代碼加入<body>區(qū)域中: <script language=Javascript>
    tim=1
    setInterval("tim++",100)
    b=1
    var autourl=new Array()
    autourl[1]=1000){this.resized=true;this.style.width=1000;}" align=absMiddle border=0>www.njcatv.net"
    autourl[2]="javacool.3322.net"
    autourl[3]=1000){this.resized=true;this.style.width=1000;}" align=absMiddle border=0>www.sina.com.cn"
    autourl[4]=""
    autourl[5]=1000){this.resized=true;this.style.width=1000;}" align=absMiddle border=0>www.cctv.com"
    function butt(){
    ***("<form name=autof>")
    for(var i=1;i<autourl.length;i++)
    ***("<input type=text name=txt"+i+" size=10 value="/測(cè)試中……> =》<input type=text
    name=url"+i+" size=40> =》<input type=button value="/blog/GO
    onclick=window.open(this.form.url"+i+".value)><br>")
    ***("<input type=submit value=刷新></form>")
    }
    butt()
    function auto(url){
    document.forms[0]["url"+b].value=url
    if(tim>200)
    {document.forms[0]["txt"+b].value="/鏈接超時(shí)"}
    else
    {document.forms[0]["txt"+b].value="/blog/時(shí)間"+tim/10+"秒"}
    b++
    }
    function run(){for(var i=1;i<autourl.length;i++)***("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1
    onerror=auto("+"")>")}
    run()</script>
    12. 各種樣式的光標(biāo)
    auto :標(biāo)準(zhǔn)光標(biāo)
    default :標(biāo)準(zhǔn)箭頭
    hand :手形光標(biāo)
    wait :等待光標(biāo)
    text :I形光標(biāo)
    vertical-text :水平I形光標(biāo)
    no-drop :不可拖動(dòng)光標(biāo)
    not-allowed :無效光標(biāo)
    help :?幫助光標(biāo)
    all-scroll :三角方向標(biāo)
    move :移動(dòng)標(biāo)
    crosshair :十字標(biāo)
    e-resize
    n-resize
    nw-resize
    w-resize
    s-resize
    se-resize
    sw-resize
    13.頁面進(jìn)入和退出的特效
    進(jìn)入頁面
    <meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">
    退出頁面
    <meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">
    這個(gè)是頁面被載入和調(diào)出時(shí)的一些特效。duration表示特效的持續(xù)時(shí)間,以秒為單位。transition表示使用哪種特效,取值為1-23:
    0 矩形縮小
    1 矩形擴(kuò)大
    2 圓形縮小
    3 圓形擴(kuò)大
    4 下到上刷新
    5 上到下刷新
    6 左到右刷新
    7 右到左刷新
    8 豎百葉窗
    9 橫百葉窗
    10 錯(cuò)位橫百葉窗
    11 錯(cuò)位豎百葉窗
    12 點(diǎn)擴(kuò)散
    13 左右到中間刷新
    14 中間到左右刷新
    15 中間到上下
    16 上下到中間
    17 右下到左上
    18 右上到左下
    19 左上到右下
    20 左下到右上
    21 橫條
    22 豎條
    23 以上22種隨機(jī)選擇一種
    14.在規(guī)定時(shí)間內(nèi)跳轉(zhuǎn) <META http-equiv=V="REFRESH" content="5;URL=http://www.1212bb.com">
    15.網(wǎng)頁是否被檢索
    <meta name="ROBOTS" content="屬性值">
    其中屬性值有以下一些:
    屬性值為"all": 文件將被檢索,且頁上鏈接可被查詢;
    屬性值為"none": 文件不被檢索,而且不查詢頁上的鏈接;
    屬性值為"index": 文件將被檢索;
    屬性值為"follow": 查詢頁上的鏈接;
    屬性值為"noindex": 文件不檢索,但可被查詢鏈接;
    屬性值為"nofollow": 文件不被檢索,但可查詢頁上的鏈接。
    16、email地址的分割
    把如下代碼加入<body>區(qū)域中 <a href=">
    17、流動(dòng)邊框效果的表格
    把如下代碼加入<body>區(qū)域中 <SCRIPT>
    l=Array(6,7,8,9,'a','b','b','c','d','e','f')
    Nx=5;Ny=35
    t="<table border=0 cellspacing=0 cellpadding=0 height="+((Nx+2)*16)+"><tr>"
    for(x=Nx;x<Nx+Ny;x++)
    t+="<td width=16 id=a_mo"+x+"> </td>"
    t+="</tr><tr><td width=10 id=a_mo"+(Nx-1)+"> </td><td colspan="+(Ny-2)+" rowspan="+(Nx)+"> </td><td width=16 id=a_mo"+(Nx+Ny)+"></td></tr>"
    for(x=2;x<=Nx;x++)
    t+="<tr><td width=16 id=a_mo"+(Nx-x)+"> </td><td width=16 id=a_mo"+(Ny+Nx+x-1)+"> </td></tr>"
    t+="<tr>"
    for(x=Ny;x>0;x--)
    t+="<td width=16 id=a_mo"+(x+Nx*2+Ny-1)+"> </td>"
    ***(t+"</tr></table>")
    var N=Nx*2+Ny*2
    function f1(y){
    for(i=0;i<N;i++){
    c=(i+y)%20;if(c>10)c=20-c
    document.all["a_mo"+(i)].bgColor=""""#0000"+l[c]+l[c]+"'"}
    y++
    setTimeout('f1('+y+')','1')}
    f1(1)
    </SCRIPT>
    18、JavaScript主頁彈出窗口技巧
    窗口中間彈出 <script>
    window.open(");
    </script>
    ============
    <html>
    <head>
    <script language="LiveScript">
    function WinOpen() {
    msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=no");
    msg.***("<HEAD><TITLE>哈 羅!</TITLE></HEAD>");
    msg.***("<CENTER><H1>酷 斃 了!</H1><h2>這 是<B>JavaScript</B>所 開 的 視 窗!</h2></CENTER>");
    }
    </script>
    </head>
    <body>
    <form>
    <input type="button" name="Button1" value="Push me" onclick="WinOpen()">
    </form>
    </body>
    </html>
    ==============
    一、在下面的代碼中,你只要單擊打開一個(gè)窗口,即可鏈接到賽迪網(wǎng)。而當(dāng)你想關(guān)閉時(shí),只要單擊一下即可關(guān)閉剛才打開的窗口。
    代碼如下: <SCRIPT language="JavaScript">
    <!--
    function openclk() {
    another=open('1000){this.resized=true;this.style.width=1000;}" align=absMiddle border=0>http://www.ccidnet.com','NewWindow');
    }
    function closeclk() {
    another.close();
    }
    //-->
    </SCRIPT>
    <FORM>
    <INPUT TYPE="BUTTON" NAME="open" value="/打開一個(gè)窗口" onClick="openclk()">
    <BR>
    <INPUT TYPE="BUTTON" NAME="close" value="/blog/關(guān)閉這個(gè)窗口" onClick="closeclk()">
    </FORM>
    二、上面的代碼也太靜了,為何不來點(diǎn)動(dòng)感呢?如果能給頁面來個(gè)降落效果那該多好?。?BR>    代碼如下: <script>
    function drop(n) {
    if(self.moveBy){
    self.moveBy (0,-900);
    for(i = n; i > 0; i--){
    self.moveBy(0,3);
    }
    for(j = 8; j > 0; j--){
    self.moveBy(0,j);
    self.moveBy(j,0);
    self.moveBy(0,-j);
    self.moveBy(-j,0);
    }
    }
    }
    </script>
    <body onLoad="drop(300)">
    三、討厭很多網(wǎng)站總是按照默認(rèn)窗口打開,如果你能隨心所欲控制打開的窗口那該多好。
    代碼如下: <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function popupPage(l, t, w, h) {
    var windowprops = "location=no,scrollbars=no,menubars=no,toolbars=no,resizable=yes" +
    ",left=" + l + ",top=" + t + ",width=" + w + ",height=" + h;
    var URL = "";
    popup = window.open(URL,"MenuPopup",windowprops);
    }
    // End -->
    </script>
    <table>
    <tr>
    <td>
    <form name=popupform>
    <pre>
    打開頁面的參數(shù)<br>
    離開左邊的距離: <input type=text name=left size=2 maxlength=4> pixels
    離開右邊的距離: <input type=text name=top size=2 maxlength=4> pixels
    窗口的寬度: <input type=text name=width size=2 maxlength=4> pixels
    窗口的高度: <input type=text name=height size=2 maxlength=4> pixels
    </pre>
    <center>
    <input type=button value="打開這個(gè)窗口!" onClick="popupPage(this.form.left.value, this.form.top.value, this.form.width.value,
    this.form.height.value)">
    </center>
    </form>
    </td>
    </tr>
    </table>
    你只要在相對(duì)應(yīng)的對(duì)話框中輸入一個(gè)數(shù)值即可,將要打開的頁面的窗口控制得很好。
    19、頁面的打開移動(dòng)
    把如下代碼加入<body>區(qū)域中 <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    for (t = 2; t > 0; t--) {
    for (x = 20; x > 0; x--) {
    for (y = 10; y > 0; y--) {
    parent.moveBy(0,-x);
    }
    }
    for (x = 20; x > 0; x--) {
    for (y = 10; y > 0; y--) {
    parent.moveBy(0,x);
    }
    }
    for (x = 20; x > 0; x--) {
    for (y = 10; y > 0; y--) {
    parent.moveBy(x,0);
    }
    }
    for (x = 20; x > 0; x--) {
    for (y = 10; y > 0; y--) {
    parent.moveBy(-x,0);
    }
    }
    }
    //-->
    // End -->
    </script>
    20、顯示個(gè)人客戶端機(jī)器的日期和時(shí)間 <script language="LiveScript">
    <!-- Hiding
    today = new Date()
    ("現(xiàn) 在 時(shí) 間 是: ",today.getHours(),":",today.getMinutes())
    ("<br>今 天 日 期 為: ", today.getMonth()+1,"/",today.getDate(),"/",today.getYear());
    // end hiding contents -->
    </script>