<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    夢想飛翔

    自強不息
    posts - 111, comments - 30, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    JavaScript 之Window對象

    Posted on 2007-08-07 13:08 love1563 閱讀(1130) 評論(0)  編輯  收藏 所屬分類: JSP/Servlets/JSF

    window對象有以下方法:??

    open???
    close???
    alert???
    confirm???
    prompt???
    setTimeout???
    clearTimeout???
    setInterval???
    clearInterval???
    moveBy???
    moveTo???
    resizeBy???
    resizeTo???
    scrollBy???
    scrollTo???
    find???
    back???
    forward???
    home???
    stop???
    print???
    blur???
    focus???
    captureEvent???
    enableExternalCapture???
    disableExternalCapture???
    handleEvent???
    releaseEvent???
    routeEvent???
    scroll???

      1. open方法??
      語法格式:??

    window.open(URL,窗口名稱,窗口風格)??
      功能:打開一個新的窗口,并在窗口中裝載指定URL地址的網頁。??

      說明:??

    open方法用于打開一個新的瀏覽器窗口,并在新窗口中裝入一個指定的URL地址??

    ;???
    open方法在打開一個新的瀏覽器窗口時,還可以指定窗口的名稱(第二個參數);???
    open方法在打開一個新的瀏覽器窗口時,還可以指定窗口的風格(第三個參數),??

    窗口風格有以下選項,這些選項可以多選,如果多選,各選項之間用逗號分隔:???
    toolbar:指定窗口是否有標準工具欄。當該選項的值為1或yes時,表示有標準??

    工具欄,當該選項的值為0或no時,表示沒有標準工具欄;???
    location:指定窗口是否有地址工具欄,選項的值及含義與toolbar相同;???
    directories:指定窗口是否有鏈接工具欄,選項的值及含義與toolbar相同;???
    status:指定窗口是否有狀態欄,選項的值及含義與toolbar相同;???
    menubar:指定窗口是否有菜單,選項的值及含義與toolbar相同;???
    scrollbar:指定當前窗口文檔大于窗口時是否有滾動條,選項的值及含義與??

    toolbar相同;???
    resizable:指定窗口是否可改變大小,選項的值及含義與toolbar相同;???
    width:以像素為單位指定窗口的寬度,已被innerWidth取代;???
    height:以像素為單位指定窗口的高度,已被innerHeight取代;???
    outerWidth:以像素為單位指定窗口的外部寬度;???
    outerHeight:以像素為單位指定窗口的外部高度;???
    left:以像素為單位指定窗口距屏幕左邊的位置;???
    top:以像素為單位指定窗口距屏幕頂端的位置;???
    alwaysLowered:指定窗口隱藏在所有窗口之后,選項的值及含義與toolbar相同??

    ;???
    alwaysRaised:指定窗口浮在所有窗口之上,選項的值及含義與toolbar相同;???
    dependent:指定打開的窗口為當前窗口的一個子窗口,并隨著父窗口的關閉而??

    關閉,選項的值及含義與toolbar相同;???

    hotkeys:在沒有菜單欄的新窗口中設置安全退出的熱鍵,選項的值及含義與??

    toolbar相同;???

    innerHeight:設定窗口中文檔的像素高度;???

    innerWidth:設定窗口中文檔的像素寬度;???

    screenX:設定窗口距離屏幕左邊界的像素長度;???

    screenY:設定窗口距離屏幕上邊界的像素長度;???

    titleBar:指明標題欄是否在新窗口中可見,選項的值及含義與toolbar相同;???

    z-look:指明當窗口被激活時,不能浮在其它窗口之上,選項的值及含義與??

    toolbar相同。???

    open方法返回的是該窗口的引用。???

    小技巧:該方法經常用于在打開一個網頁時自動打開另一個窗口。??

    例6-2-1:編制一個小程序,它用于在打開當前窗口時自動打開另一個窗口,要??

    求該窗沒有標準工具欄、地址欄、鏈接工具欄、菜單欄,但有狀態欄,窗口中打??

    開的網頁地址為:http://www.dlrtvu.edu.cn。??

    2. close方法??
    語法格式:??

    window.close()??
    功能:close方法用于自動關閉瀏覽器窗口。??

    ?? 3. alert方法??
    語法格式:??

    window.alert(提示字符串)??
    功能:彈出一個警告框,在警告框內顯示提示字符串文本。??

    ?? 4. confirm方法??
    語法格式:??

    window.confirm(提示字符串)??
    功能:顯示一個確認框,在確認框內顯示提示字符串,當用戶單擊“確定”按鈕??

    時該方法返回true,單擊“取消”時返回false。??

    ?? 5. prompt方法??
    語法格式:??

    window.prompt(提示字符串,缺省文本)??
    功能:顯示一個輸入框,在輸入框內顯示提示字符串,在輸入文本框顯示缺省文??

    本,并等待用戶輸入,當用戶單擊“確定”按鈕時,返回用戶輸入的字符串,當??

    單擊“取消”按鈕時,返回null值。??

    ?? 6. setTimeout方法??
    語法格式:??

    window.setTimeout(代碼字符表達式,毫秒數)??
    功能:定時設置,當到了指定的毫秒數后,自動執行代碼字符表達式。??

    7. clearTimeout方法??
    語法格式:??

    window.clearTimeout(定時器)??
    功能:取消以前的定時設置,其中的參數是用setTimeout設置時的返回值。??

    ?? 8. setInterval方法??
    語法格式:??

    window.setInterval(代碼字符表達式,毫秒數)??
    功能:設定一個時間間隔后(第二個參數),反復執行“代碼字符表達式”的內容??

    9. clearInterval方法??
    語法格式:??

    window.clearInterval(時間間隔器)??
    功能:取消setInterval設置的定時。其中的參數是setInterval方法的返回值。??

    10. moveBy方法??
    語法格式:??

    window.moveBy(水平位移量,垂直位移量)??
    功能:按照給定像素參數移動指定窗口。第一個參數是窗口水平移動的像素,第??

    二個參數是窗口垂直移動的像素。??

    ?? 11.moveTo方法??
    語法格式:??

    window.moveTo(x,y)??
    功能:將窗口移動到指定的指定坐標(x,y)處。??

    12. resizeBy方法??
    語法格式:??

    window.resizeBy(水平,垂直)??
    功能:將當前窗口改變指定的大小(x,y),當x、y的值大于0時為擴大,小于0時??

    為縮小。??

    13. resizeTo方法??
    語法格式:??

    window.resizeTo(水平寬度,垂直寬度)??
    功能:將當前窗口改變成(x,y)大小,x、y分別為寬度和高度。??

    14. scrollBy方法??
    語法格式:??

    window.scrollBy(水平位移量,垂直位移量)??
    功能:將窗口中的內容按給定的位移量滾動。參數為正數時,正向滾動,否則反??

    向滾動。??

    15. scrollTo方法??
    語法格式:??

    window.scrollTo(x,y)??
    功能:將窗口中的內容滾動到指定位置。??

    16.find方法??
    語法格式:??

    window.find()??
    功能:當觸發該方法時,將彈出一個“find”(查找)對話窗口,并允許用戶在觸??

    發find方法的頁面中查找一個字符串。??

    注:該屬性在IE5.5及Netscape6.0中都不支持。??

    17. back方法??
    語法格式:??

    window.back()??
    功能:模擬用戶點擊瀏覽器上的“后退”按鈕,將頁面轉到瀏覽器的上一頁。??

    說明:僅當當前頁面存在上一頁時才能進行該操作。??

    注:IE5.5不支持該方法,Netscape6.0支持。??

    18. forward方法??
    語法格式:??

    window.forward()??
    功能:模擬用戶點擊瀏覽器上的“前進”按鈕,將頁面轉到瀏覽器的下一頁。??

    說明:僅當當前頁面存在下一頁時才能進行該操作。??

    注:IE5.5不支持該方法,Netscape6.0支持。??

    19. home方法??
    語法格式:??

    window.home()??
    功能:模擬用戶點擊瀏覽器上的“主頁”按鈕,將頁面轉到指定的頁面上。??

    注:IE5.5不支持該方法,Netscape6.0支持。??

    20. stop方法??
    語法格式:??

    window.stop()??
    功能:模擬用戶點擊瀏覽器上的“停止”按鈕,終止瀏覽器的下載操作。??

    注:IE5.5不支持該方法,Netscape6.0支持。??

    21. print方法??
    語法格式:??

    window.print()??
    功能:模擬用戶點擊瀏覽器上的“打印”按鈕,通知瀏覽器打開打印對話框打印??

    當前頁。??
    ????????
    22. blur方法??
    語法格式:??

    window.blur()??
    功能:從窗口中移出焦點。當與focus方法合用時必須小心,因為可能導致焦點??

    不斷移進移出。??

    23. focus方法??
    語法格式:??

    window.focus()??
    功能:使窗口中得到焦點。當與blur方法合用時必須小心,因為可能導致焦點不??

    斷移進移出。
    24. captureEvent方法??
    語法格式:??

    window.captureEvent(Event)?????????
    window.captureEvent(事件1|事件2|...|事件n)??
    功能:捕捉指定參數的所有事件。由于能夠捕獲哪些由本地程序自己處理的事件??

    ,所以程序員可以隨意定義函數來處理事件。如果有多個事件需要捕捉,各事件??

    之間用管道符“|”隔開。可捕捉的事件類型如下:??

    Event.ABORT???

    Event.BLUR???

    Event.CHANGE???

    Event.CLICK???

    Event.DBLCLICK???

    Event.DRAGDROP???

    Event.ERROR???

    Event.FOCUS???

    Event.KEYDOWN???

    Event.KEYPRESS???

    Event.KEYUP???

    Event.LOAD???

    Event.MOUSEDOWN???

    Event.MOUSUEMOVE???

    Event.MOUSEOUT???

    Event.MOUSEOVER???

    Event.MOUSEUP???

    Event.MOVE???

    Event.RESET???

    Event.RESIZE???

    Event.SELECT???

    Event.SUBMIT???

    Event.UNLOAD???

    25. enableExternalCapture事件??
    語法格式:??

    window.enableExternalCapture(event)??
    功能:enableExternalCapture方法用于捕捉通過參數傳入的外部事件。??

    26. disableExternalCapture事件??
    語法格式:??

    window.disableExternalCapture()??
    功能:取消enableExternalCapture方法的設置,終止對外部事件的捕捉。??

    27. handleEvent事件??
    語法格式:??

    window.handleEvent(event)??
    功能:觸發指定事件的事件處理器。??

    28. releaseEvent事件??
    語法格式:??

    window.releaseEvent(event)??
    window.releaseEvent(事件1|事件2|...|事件n)??
    功能:釋放通過參數傳入的已被捕捉的事件,這些事件是由??

    window.captureEvent方法設置的,可釋放的事件與captureEvent相同。??

    29. routeEvent事件??
    語法格式:??

    window.releaseEvent(event)??
    功能:把被捕捉類型的所有事件轉交給標準事件處理方法進行處理,可轉交的事??

    件與captureEvent相同。??

    30 scroll事件??
    語法格式:??

    window.scroll(X坐標,Y坐標)??
    功能:將窗口移動到指定的坐標位置。??

    6-2-2 window對象的屬性??
    window對象具有如下屬性:??

    status???

    statusbar???

    statusbar.visible???

    defaultstatus???

    location???

    locationbar???

    locationbar.visible???

    self???

    name???

    closed???

    frames???

    frames.length???

    length???

    document???

    history???

    innerHeight???

    innerWidth???

    menubar???

    menubar.visible???

    opener???

    outerHeight???

    outerWidth???

    pageXOffset???

    pageYOffset???

    parent???

    personalbar???

    personalbar.visible???

    scrollbar???

    scrollbar.visible???

    toolbar???

    toolbar.visible???

    top???

    1. status屬性??
    語法格式:??

    window.status=字符串??
    功能:設置或給出瀏覽器窗口中狀態欄的當前顯示信息。??

    小技巧:可以使用該屬性設置瀏覽器窗口狀態欄信息。??

    ?? 2. statusbar屬性??
    語法格式:??

    window.statusbar.屬性??
    功能:statusbar屬性本身也是一個對象,用于訪問它自已的visible屬性從而確??

    定狀態欄是否可見。??

    注:IE5.5瀏覽器不支持該屬性。??

    3. statusbar.visible屬性??
    語法格式:??

    window.statusbar.visible??
    功能:檢查狀態欄是否可見,如果可見則返回true,反之返回false。??

    注:IE5.5瀏覽器不支持該屬性。??

    ?? 4. defaultstatus屬性??
    語法格式:??

    window.defaultstatus[=字符串]??
    功能:defaultstatus屬性值是瀏覽器窗中狀態欄的默認顯示信息。??

    ?? 5.location屬性??
    語法格式:??

    window.location=URL??
    功能:給出當前窗口的URL信息或指定打開窗口的URL。??

    ?? 6. locationbar屬性??
    語法格式:??

    window.locationbar.屬性??
    功能:locationbar屬性也可以看成是一個子對象,這個屬性用來獲取它自已的??

    visible屬性來確定位置欄是否可見。??

    到目前為止,該屬性只有一個子屬性:visible。??

    注:IE5.5不支持該屬性。??

    7. locationbar.visible屬性??
    語法格式:??

    window.locationbar.visible??
    功能:返回位置欄是否可見,如果可見返回true,反之返回false。??

    注:IE5.5不支持該屬性。??

    8. self屬性??
    語法格式:??

    window.self.方法??
    window.self.屬性??
    功能:該屬性包含當前窗口的標志,利用這個屬性,可以保證在多個窗口被打開??

    的情況下,正確調用當前窗口內的函數或屬性而不會發生混亂。??

    ?? 9. name屬性??
    語法格式:??

    window.name=名稱??
    功能:返回窗口名稱,這個名稱是由window.open()方法創建新窗口時給定的。??

    在javascript1.0版本中,這個屬性只能用于讀取窗口名稱,而到了??

    javascript1.1版本時,可以用這個屬性給一個不是用window.open()方法創建的??

    窗口指定一個名稱。??

    ?? 10. closed屬性??
    語法格式:??

    window.closed??
    功能:closed屬性用于返回指定窗口的實例是否已經關閉,如果關閉,返回true??

    ,反之返回flase。??

    11. frames屬性??
    語法格式:??

    window.frames["框架名稱"]??
    window.frames[數值]??
    功能:frames屬性是一個數組,用來存儲文檔中每一個由元素創建的子窗口(框??

    架)實例,其中的下標即可以是次序號也可以是用FRAME元素的NAME屬性指定的名??

    稱來得到并使用。??

    12. frames.length屬性??
    語法格式:??

    window.frames.length??
    功能:frames.length屬性用于給出文檔中子窗口(框架)實例的個數。??

    13. length屬性??
    語法格式:??

    window.length??
    功能:length屬性返回一個窗口內的子窗口數目,該屬性與??

    window.frame.length屬性的值相同。??

    14. document屬性??
    語法格式:??

    window.document.事件??
    window.document.方法??
    window.document.屬性??
    功能:window對象的子對象document是javascript的核心對象,在腳本中遇到??

    BODY元素時創建一個實例。??

    15. history屬性??
    語法格式:??

    window.history[數值]??
    window.history.方法()??
    window.history.屬性??
    window對象的子對象history是javascript的核心對象之一,該屬性包含了一個??

    已訪問過頁面的名稱和URL的數組。??

    16. innerHeight屬性??
    語法格式:??

    window.innerHeight=數值??
    功能:返回或指定瀏覽器窗口中文檔的像素高度,這個高度不包括任何工具欄和??

    組成窗口的頁面修飾高度。??

    注:IE5.5不支持該屬性。??

    17. innerWidth屬性??
    語法格式:??

    window.innerHeight=數值??
    功能:返回或指定瀏覽器窗口中文檔的像素寬度,這個寬度不包括任何工具欄和??

    組成窗口的頁面修飾寬度。??

    注:IE5.5不支持該屬性。??

    18. menubar屬性??
    語法格式:??

    window.menubar.屬性??
    功能:menubar屬性也可以看成是一個子對象,這個屬性用來獲取它自已的??

    visible屬性來確定菜單欄是否可見。??

    到目前為止,該屬性只有一個子屬性:visible。??

    注:IE5.5不支持該屬性。??

    19. menubar.visible屬性??
    語法格式:??

    window.menubar.visible??
    功能:menubar.visible屬性用于返回菜單欄是否可見,如果可見返回true,反??

    之返回false。??

    注:IE5.5不支持該屬性。??
    20. opener屬性??
    語法格式:??

    window.opener??
    window.opener.方法??
    window.opener.屬性??
    功能:opener屬性與打開該窗口的父窗口相聯系,當訪問子窗口中operer屬性時??

    ,返回的是父窗口。通過該屬性,可以使用父窗口對象中的方法和屬性。??

    21. outerHeight屬性??
    語法格式:??

    window.outerHeight??
    功能:outerHeight屬性用于訪問瀏覽器窗口的像素高度,該高度包括工具欄和??

    裝飾邊的高度。??

    注:IE5.5不支持該屬性。??

    22. outerWidth屬性??
    語法格式:??

    window.outerWidth??
    功能:outerWidth屬性用于訪問瀏覽器窗口的像素寬度,該寬度包括工具欄和裝??

    飾邊的寬度。??

    注:IE5.5不支持該屬性。??

    23. pageXOffset屬性??
    語法格式:??

    window.pageXOffset=數值??
    功能:指定瀏覽器窗口中文檔左上角在窗口中的當前水平像素位置。在利用??

    moveTo移動之前,可以通過該屬性來決定是否需要移動窗口。因為該屬性返回了??

    可見文檔相對整個頁面的當前位置。??

    注:IE5.5不支持該屬性。??

    24. pageYOffset屬性??
    語法格式:??

    window.pageYOffset=數值??
    功能:指定瀏覽器窗口中文檔左上角在窗口中的當前垂直像素位置。在利用??

    moveTo移動之前,可以通過該屬性來決定是否需要移動窗口。因為該屬性返回了??

    可見文檔相對整個頁面的當前位置。??

    注:IE5.5不支持該屬性。??

    25. parent屬性??
    語法格式:??

    window.parent.frames[數值]??
    window.parent.framesName??
    功能:訪問各個子窗口(多框架)所在的父窗口。??

    26. personalbar屬性??
    語法格式:??

    window.personalbar.屬性??
    功能:personalbar屬性本身也是一個對象,用于訪問其自身的visible屬性來確??

    定個人欄是否可見。??

    注:IE5.5不支持該屬性。??

    27. personalbar.visible屬性??
    語法格式:??

    window.personalbar.visible??
    功能:確定個人欄是否可見,如果可見則返回true,反之返回false。??

    注:IE5.5不支持該屬性。??

    28. scrollbars屬性??
    語法格式:??

    window.scrollbars.屬性??
    功能:scrollbars屬性本身也是一個對象,用于訪問其自身的visible屬性來確??

    定滾動欄是否可見。??

    注:IE5.5不支持該屬性。??

    29. scrollbars.visible屬性??
    語法格式:??

    window.scrollbars.visible??
    功能:scrollbars.visible用于確定滾動欄是否可見,如果可見則返回true,反??

    之返回false。??

    注:IE5.5不支持該屬性。??

    30. toolbar屬性??
    語法格式:??

    window.toolbar.屬性??
    功能:toolbar屬性本身也是一個對象,用于訪問它自已的visible屬性從而確定??

    工具欄是否可見。??

    注:IE5.5不支持該屬性。??

    31. toolbar.visible屬性??
    語法格式:??

    window.toolbar.visible??
    功能:toolbar.visible屬性用于檢查工具欄是否可見,如果可見則返回true,??

    反之返回false。??

    注:IE5.5不支持該屬性。??

    32. top屬性??
    語法格式:??

    window.top.frames[數值]??
    window.top.frameName??
    window.top.方法()??
    window.top.屬性??
    功能:window對象的top屬性用于包含所有裝入瀏覽器的子窗口(多框架)的最頂

    使用Window.open方法新建窗口
    Window對象表示的是瀏覽器窗口,它有多種操作,其中一個重要的方法是open,表示新建一個窗口來打開指定頁面。例如在a.html中執行以下語句:
    window.open("b.html");
    則新建一個窗口打開了b.html頁面,這和在a.html頁面中用一條鏈接打開頁面的效果是一樣的:
    <a href="b.html" target="_blank">b</html>
    但window.open對新建窗口的樣式可以有更多的控制,例如:窗口大小、是否顯示菜單欄、是否顯示滾動條、是否顯示地址欄等等。其完整的調用語法如下:
    window.open(url,windowName,"name1=value1[,name2=value2,[…]]");
    其中:url是要打開的頁面地址;windowName表示新建窗口的名字,從而可以對其進行控制;最后是一個用字符串表示的參數列表。每一個參數都是名稱和值對應的形式,用逗號隔開,其中可以使用的參數如下。
    ??height:表示新建窗口的高度;
    ??width:表示新建窗口的寬度;
    ??left:表示新建窗口到屏幕左邊緣的距離;
    ??top:表示新建窗口到屏幕頂端的距離。
    以上屬性的單位均為象素,例如對于800×600的分辨率,left=400則表示新窗口的左邊緣處于屏幕的正中間。其余的屬性主要是布爾型的,用yes或者1表示開啟,用no或者0表示關閉。如果是開啟,則yes或者1可省略,例如:toolbar=1等價于toolbar=yes等價于toolbar,下面分別介紹這些屬性:
    ??directories:是否顯示鏈接工具欄;
    ??location:是否顯示地址欄;
    ??menubar:是否顯示菜單欄;
    ??resizable:是否允許調整窗口大小;
    ??scrollbars:是否顯示滾動條;
    ??status:是否顯示狀態欄;
    ??toolbar:是否顯示工具欄。
    例如,下面的代碼將顯示一個無菜單、無工具條、無滾動條的窗口:
    window.open("test3.html","","height=200,width=300, toolbar=0,menubar=0,scrollbars=0");

    使用定時器實現JavaScript的延期執行或重復執行
    window對象提供了兩個方法來實現定時器的效果,分別是window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時間后運行;而后者則可以使一段代碼每過指定時間就運行一次。它們的原型如下:
    window.setTimeout(expression,milliseconds);
    window.setInterval(expression,milliseconds);
    其中,expression可以是用引號括起來的一段代碼,也可以是一個函數名,到了指定的時間,系統便會自動調用該函數,當使用函數名作為調用句柄時,不能帶有任何參數;而使用字符串時,則可以在其中寫入要傳遞的參數。兩個方法的第二個參數是milliseconds,表示延時或者重復執行的毫秒數。下面分別介紹兩種方法。

    1.window.setTimeout方法
    該方法可以延時執行一個函數,例如:
    <script language="JavaScript" type="text/javascript">
    <!--
    function hello(){
    ?alert("hello");
    }
    window.setTimeout(hello,5000);
    //-->
    </script>
    這段代碼將使得頁面打開5秒鐘后顯示對話框“hello”。其中最后一句也可以寫為:
    window.setTimeout("hello()",5000);
    讀者可以體會它們的差別,在window.setInterval方法中也有這樣的性質。
    如果在延時期限到達之前取消延執行,可以使用window.clearTimeout(timeoutId)方法,該方法接收一個id,表示一個定時器。這個id是由setTimeout方法返回的,例如:
    <script language="JavaScript" type="text/javascript">
    <!--
    function hello(){
    ????? alert("hello");
    }
    var window.clearTimeout(id);
    }
    //-->
    </script>
    這樣,如果要取消顯示,只需單擊頁面任何一部分,就執行了window.clearTimeout方法,使得超時操作被取消。

    2.window.setInterval方法
    該方法使得一個函數每隔固定時間被調用一次,是一個很常用的方法。如果想要取消定時執行,和clearTimeout方法類似,可以調用window.clearInterval方法。clearInterval方法同樣接收一個setInterval方法返回的值作為參數。例如:
    //定義一個反復執行的調用
    var somefunction",10000);
    //取消定時執行
    window.clearInterval(id);
    上面的代碼僅用于說明怎樣取消一個定時執行。實際上在很多場合都需要用到setInterval方法,下面將設計一個秒表,來介紹setInterval函數的用途:該秒表將包括兩個按鈕和一個用于顯示時間的文本框。當單擊開始按鈕時開始計時,最小單位為0.01秒,此時再次單擊按鈕則停止計時,文本框顯示經過的時間。另外一個按鈕用于將當前時間清零。其實現代碼如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    </head>
    <body>
    <form action="somepage.asp">
    <input type="text" value="0" />
    <input type="button" value="開始" />
    <input type="button" value="重置" />
    </form>
    </body>
    </html>
    <script language="JavaScript" type="text/javascript">
    <!--
    //獲取表單中的表單域
    var txt=document.forms[0].elements["txt1"];
    var btnStart=document.forms[0].elements["btnStart"];
    var btnReset=document.forms[0].elements["btnReset"]
    //定義定時器的id
    var id;
    //每10毫秒該值增加1
    var seed=0;

    btnStart.onclick=function(){
    ????? //根據按鈕文本來判斷當前操作
    ????? if(this.value=="開始"){
    ????????????? //使按鈕文本變為停止
    ????????????? this.value="停止";
    ????????????? //使重置按鈕不可用
    ????????????? btnReset.disabled=true;
    ????????????? //設置定時器,每0.01s跳一次
    ????????????? }else{
    ????????????? //使按鈕文本變為開始
    ????????????? this.value="開始";
    ????????????? //使重置按鈕可用
    ????????????? btnReset.disabled=false;
    ????????????? //取消定時
    ????????????? window.clearInterval(id);
    ????? }
    }

    //重置按鈕
    btnReset.onclick=function(){
    ???? seed=0;
    }
    //讓秒表跳一格
    function tip(){
    ????? seed++;
    ????? txt.value=seed/100;
    }
    //-->
    </script>
    給定時器調用傳遞參數
    無論是window.setTimeout還是window.setInterval,在使用函數名作為調用句柄時都不能帶參數,而在許多場合必須要帶參數,這就需要想方法解決。例如對于函數hello(_name),它用于針對用戶名顯示歡迎信息:
    var userName="jack";
    //根據用戶名顯示歡迎信息
    function hello(_name){
    ????? alert("hello,"+_name);
    }
    這時,如果企圖使用以下語句來使hello函數延遲3秒執行是不可行的:
    window.setTimeout(hello(userName),3000);
    這將使hello函數立即執行,并將返回值作為調用句柄傳遞給setTimeout函數,其結果并不是程序需要的。而使用字符串形式可以達到想要的結果:
    window.setTimeout("hello(userName)",3000);
    這里的字符串是一段JavaScript代碼,其中的userName表示的是變量。但這種寫法不夠直觀,而且有些場合必須使用函數名,下面用一個小技巧來實現帶參數函數的調用:
    <script language="JavaScript" type="text/javascript">
    <!--
    var userName="jack";
    //根據用戶名顯示歡迎信息
    function hello(_name){
    ?????? alert("hello,"+_name);
    }
    //創建一個函數,用于返回一個無參數函數
    function _hello(_name){
    ?????? return function(){
    ???????????? hello(_name);
    ?????? }
    }
    window.setTimeout(_hello(userName),3000);
    //-->
    </script>
    這里定義了一個函數_hello,用于接收一個參數,并返回一個不帶參數的函數,在這個函數內部使用了外部函數的參數,從而對其調用,不需要使用參數。在window.setTimeout函數中,使用_hello(userName)來返回一個不帶參數的函數句柄,從而實現了參數傳遞的功能。

    使用status和defaultStatus屬性改變狀態欄信息
    status和defaultStatus是window對象的屬性,用于設置狀態欄信息,語法為:
    window.status="message";
    window.defaultStatus="message";

    其中status屬性就是用于設置狀態欄顯示的文本。而defaultStatus表示默認的狀態欄信息,例如默認情況下IE瀏覽器會顯示“完畢”,而Firefox瀏覽器則顯示“完成”。可以通過defaultStatus來改變這一信息。
    使用alert、prompt和confirm語句與用戶進行交互
    這三個語句都是彈出一個對話框,來處理用戶輸入。它們都是window對象的一個方法,在實際使用時,常常省略window,而直接寫成alert("hello")類似的形式。下面分別介紹:
    1.alert語句
    該語句的原型是:
    window.alert(message);
    alert接收一個參數,該參數將轉換為字符串直接顯示在對話框上,例如:
    alert("hello,ajax");
    2.prompt語句
    該語句的原型是:
    window.prompt(message,defaultValue);
    prompt用于讓用戶輸入一個值,其中message表示提示信息,defaultValue表示顯示于文本框的初始值;函數返回用戶的輸入。對話框包括【確定】和【取消】兩個按鈕,用戶單擊【確定】按鈕則返回文本框中的內容,單擊【取消】則返回null。例如:
    var userName=window.prompt("請輸入您的姓名:","");
    alert("hello,"+userName);
    其中prompt提示用戶輸入其姓名,使用userName變量獲取用戶輸入,并顯示歡迎信息。

    3.confirm語句
    該語句的原型是:
    window.confirm(message);
    其作用是顯示一條信息讓用戶確認,彈出的對話框包括【確定】和【取消】兩個按鈕,如果用戶單擊【確定】,則confirm函數返回true,否則返回false。例如下面的語句:
    if(confirm("確定刪除該記錄嗎?")){
    ?????? //刪除記錄的操作
    }else{
    ?????? //不刪除記錄
    }

    主站蜘蛛池模板: 亚洲男人天堂影院| 日本一区午夜艳熟免费| 成人免费在线观看网站| 亚洲成a人片77777老司机| 国产国产人免费人成成免视频| 国产美女无遮挡免费视频网站| 激情综合亚洲色婷婷五月| 国产午夜精品久久久久免费视| JLZZJLZZ亚洲乱熟无码| 鲁死你资源站亚洲av| 99久久免费精品国产72精品九九 | 亚洲成人激情在线| 一边摸一边桶一边脱免费视频| 午夜影视在线免费观看| 亚洲kkk4444在线观看| 和日本免费不卡在线v| 亚洲色大成网站www永久| 一级毛片成人免费看免费不卡| 亚洲乱码国产一区三区| 国产精品小视频免费无限app| 亚洲精品无码专区久久同性男| 国产成人亚洲精品播放器下载| 永久免费AV无码网站在线观看| 亚洲日本成本人观看| 久久电影网午夜鲁丝片免费| 亚洲色欲色欲www| 成人AV免费网址在线观看| 亚洲乱码一二三四区国产| 最近高清中文字幕无吗免费看| 亚洲国产美女精品久久久久| av无码免费一区二区三区| 亚洲午夜电影在线观看高清| 全免费毛片在线播放| 久久精品国产99国产精品亚洲| 久久精品a一国产成人免费网站| 亚洲婷婷第一狠人综合精品| 免费特级黄毛片在线成人观看| 亚洲人成网站免费播放| 国产成人高清精品免费鸭子| 美景之屋4在线未删减免费| 亚洲国产av一区二区三区|