2015-01-09 48 views
0

好吧,我正在製作一個反應測試儀,並且我有一個功能讓屏幕上出現形狀,所以我想要的是某種功能是在點擊5次某些元素會結束一個函數。有沒有辦法做到這一點?對不起,如果它是一個愚蠢的問題,其因爲我是新來的整個編碼...在特定元素上點擊一定次數後停止功能

+0

的例子你是什麼意思 「結束功能」 ?五次點擊某個元素後執行一個函數? – zvona

+0

是的,有一種方法可以做到這一點,這就是所謂的計數。使用每次點擊增加的變量。 – adeneo

+0

使用一個使用閉包的靜態變量來計算一個函數被執行的次數,如果它大於,比如說5就返回。 – Ehtesham

回答

0

您可以使用它可以保持上點擊功能計數全局變量

<script> 
var globalvar = 0; 

onclickfunct() 
{ 
globalvar += 1; 

if(globalvar == 5) 
{ 
//do my work 
} 
else 
{ 
//give alert 
} 
} 

</script> 
+0

那麼這將如何停止功能? –

+0

你可以基於變量值停止,假設你想要5點擊只要使用條件並將其限制爲5,將你的代碼放入裏面。 –

+0

將我的所有代碼放在那個函數中? –

0

可以使用靜態變量來怎麼算很多時候該對象已被點擊。 和here是你如何在javascript中創建靜態變量。

1

在這裏你去

var clickHandler = (function (e) { 
    var count = 0; 

    return function() { 
     count += 1; 
     if (count > 5) { 
      return; 
     } 

     // do other stuff here 
    } 
}()); 

aDiv.addEventListener('click', clickHandler, false); 
+1

我不明白如何使用你的代碼..可以請你幫忙... –

0

一旦計數器達到5.您可以解除綁定click事件見下

function test(sender) { 
 
    sender.dataset.clicked++; 
 

 
    console.log("I've been clicked", sender.dataset.clicked); 
 
    
 
    if (+sender.dataset.clicked === 5) { 
 
    // unbind the event 
 
    sender.onclick = null; 
 
    } 
 
    
 
    return; 
 
}
<div onclick="test(this);" data-clicked="0">click me</div>

相關問題