在js中window.setInterval() 實現ukey的自動識別

來源:互聯網
上載者:User

先看兩個簡單的小例子。
setTimeout()的使用:
[javascript]
<SCRIPT LANGUAGE="JavaScript">   
function test() {   
    //100毫秒後執行sleep方法, 但這100毫秒程式不會等待,會繼續執行setTimeout後面的代碼   
    //效果就是 先alert(2); 後 alert(1);   
    window.setTimeout("sleep()", 100);   
    alert(2);      
}   
function sleep(){   
    alert(1);   
}   
test();   
</SCRIPT>   
關於setTimeout方法的第一個參數,可以為 字串,也可以為方法的指標
如果為字串的時候必須寫括弧,指標時不用寫括弧,
如:
[javascript] 
window.setTimeout("sleep()", 100);   
window.setTimeout(sleep, 100);   

兩者效果一樣。
另: 可以指定參數,如
[javascript]
window.setTimeout("sleep('" + document.all.aa.value + "')", 100);   
window.setTimeout(sleep(document.all.aa.value), 100);   

然後再sleep方法裡可以取到參數的值。
再看看window.setInterval() :
[javascript] view plaincopy
<SCRIPT LANGUAGE="JavaScript">   
var timer;//聲明一個定時器   
var count = 0;   
function test()   
{   
    //每隔500毫秒執行一次add()方法   
    timer = window.setInterval("add()",500);   
}   
function add(){   
    alert(++ count);   
    if (count == 5)   
    {   
        //如果count值達到5,清空定時器   
        window.clearInterval(timer);   
    }   
}   
test();   
</SCRIPT>   

應用在加密鎖中自動識別加密鎖,隨時監測到加密鎖的插入。
[javascript] 
<span style="white-space:pre">      </span>//設定timer全域變數,當找到加密鎖時停止timer 
        var timer; 
         
        function IA300_GetInstance() 
        { 
            if(_IA300Client == null) 
            { 
                _IA300Client = document.getElementById("IA300Client"); 
            } 
             
            _IA300Client.Model = 0; 
           return _IA300Client;  
        } 
         
        var flag = false; 
 
        //頁面載入時調用此函數方法 
        function OnPageLoad() { 
            var browser = DetectBrowser(); 
            if (browser == "Unknown") { 
                alert("不支援該瀏覽器, 如果您在使用傲遊或類似瀏覽器,請切換到IE模式"); 
                return; 
            } 
            //createAdminElementIA300() 對本頁面加入IA300外掛程式 
            createElementIA300(); 
            //DetectActiveX() 判斷IA300Admin是否安裝 
            var create = DetectIA300Plugin(); 
            if (create == false) { 
                alert("外掛程式未安裝,請安裝開發套件Plugin檔案夾下的管理層外掛程式。"); 
                return false; 
            } 
        } 
         //尋找本地 
        function IA300Find() { 
            var rtn = IA300_CheckExist(); 
            if (0 < rtn) { 
                /*alert("找到"+rtn+"把鎖, 請在列表中選擇你需要設定的加密鎖. 注意請自行排除管理員鎖!");*/ 
                document.getElementById("userUK").options.length = 0; //初始化列表 
                for (i = 0; i < rtn; i++) { //擷取所有加密鎖硬體ID 
                    var id = IA300_GetHardwareId(i); 
                    if (id == "") { 
                        alert("擷取第" + (1 + i) + "把鎖硬體ID失敗,錯誤碼:" 
                                + IA300_GetLastError()); 
                    } else { 
                        document.getElementById("userUK").options[i] = new Option( 
                                id, id); 
                        alert("檢測到加密鎖,請進行登入!"); 
                        //檢測到加密鎖退出timer 
                        if(document.getElementById("userUK").options[i].value == id){ 
                            window.clearInterval(timer); 
                        } 
                    } 
                } 
            } else { 
                //alert("未找到加密鎖!"); 
                document.getElementById("userUK").options.length = 0; 
                document.getElementById("userUK").options[0] = new Option( 
                        ""); 
                return false; 
            } 
        } 
          
          
        //開始檢查timer 
        function IA300_StartCheckTimer(interval) 
        { 
            //_TimerErrorMessage  = errMsg; 
           // _ExpireUrl = logonUrl; 
            //定時檢測 
            timer = window.setInterval(IA300Find, interval); 
        } 
[javascript]
<span style="white-space:pre">      </span>//當頁面載入時運行上述兩個js方法 
[javascript] view plaincopy
<span style="white-space:pre">      </span>$(document).ready(function() { 
            OnPageLoad(); 
            IA300_StartCheckTimer(500); 
        }); 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.