在指定的時間內點擊某元素達到必定的次數後才觸發事件

  工做須要,要作一個點擊某一元素,在規定的時間內,點擊次數達到必定值時,才觸發其餘事件。url

  剛開始是一臉懵逼,思緒混亂,首先想到了使用定時器,後來繞來繞去,始終沒有解決,在跟安卓開發的同事交流一番後,便產生了一個更加簡單的方法,不使用定時器。spa

  大體思路是這樣的:初始時,給一個變量clickNum,值爲0,用來保存點擊的次數,點擊元素時,當clickNum爲0時,獲取當前的時間,賦值給變量a,同時將當前點擊時的時間賦給連一個變量b,而後拿這個時間b與時間a的差和規定的時間進行比較,當小於規定的時間時,就將次數加1,若是次數大於或等於規定次數時,執行所要執行的事件。若是時間b與時間a的差大於規定的時間,就將變量clickNum重置爲0。code

  代碼以下:blog

<input type="button" value="按鈕" onclick="jump(url)">
    <script>
        var clickNum = 0  // 點擊的次數
        var firstTime = ''  
        var clickTime = ''
        function jump(url) {
            if (clickNum == 0) {
                firstTime = new Date().getTime()
            }
            clickTime = new Date().getTime()
            if (clickTime - firstTime <= 2000) {
                clickNum ++
                if (clickNum >= 5) {
                    window.location.href = url
                    clickNum = 0
                }
            } else {
                clickNum = 0
            }
            
        }
    </script>
相關文章
相關標籤/搜索