2014-10-22 65 views
0

我有增加數問題,在一個單位當我打電話功能和onclick事件增加數量和的onclick

我有這樣的:

function caller() {  
    counter = 0; 

    alert("ok" + counter); 

    jQuery(".db_header_general" + number).click(function() {  
     alert("ok" + counter); 
     counter++; 
    }); 
} 

在這種情況下,如果我調用該函數總是警報告訴我「0」,如果我調用函數並使用事件onclick是結果它是正確的1,2,3,4等,問題是如果我去激活功能沒有繼續最後一個計數器號碼並始終顯示「0」

I需要例如呼叫功能,並顯示1,2,3,如果事件點擊它的激活繼續,並從最後一個計數器號碼+1,但問題 - 我不能得到作品 - 。 it's沒有與最後一個號碼

還繼續我嘗試這個

function caller() { 
    counter=0; 

    alert("ok"+counter); 

    jQuery(".db_header_general"+number).click(function() { 
     alert("ok"+counter); 
    }); 
    counter++; 
} 

櫃檯外click事件的使用,也是同樣的結果,並沒有對我的作品

Thank's並致以最大的問候

+3

將計數器變量放在函數之外。 Currentyl,您每次調用該方法時都會重置它。 – 2014-10-22 12:19:35

+1

@ boulder_02權利。你確定,每次調用'caller'函數時,你想要添加'click'事件處理程序嗎? – idlerboris 2014-10-22 12:21:48

回答

1

你應該把櫃檯之外的功能。使用當前的功能時,當您呼叫該功能時,計數器值設置爲0.是否如此

var counter = 0; 

function caller() 
{ 
    // functionality 
    counter++;  
} 
+1

這是正確的,但是如果'counter'會在全局範圍內 - 真的很糟糕的做法。 – idlerboris 2014-10-22 12:28:28

1
counter=0 

每次調用函數時都會執行,因爲它是局部變量。所以每次調用你的函數時,你都要將計數器設置爲0.使計數器成爲全局變量,它將起作用。

舉例說:

<script type="text/javascript"> 
var counter = 0; 
function caller(){ 
    alert("ok"+counter); 
    jQuery(".myBtn").click(function() { 
     alert("ok"+counter); 
     counter++; 
    }); 
} 

+0

你能舉個例子嗎?謝謝 – Francisco 2014-10-22 12:18:55