2015-09-06 56 views
-2
<ul> 
<li>box</li> 
<li>box</li> 
<li>box</li> 
<li>box</li> 
<li>box</li> 
</ul> 


$(function(){ 
    var counter = 0; 
    $('li').click(function(){ 
    if(counter > 0) { 
    return false; 
    } else { 
    counter++; 
    } 
}); 
}); 

我有類似的東西。當列表項點擊增加我的計數,但如果這個列表項是新的,所以曾經點擊過,然後開始增零。監控每個列表項目獲得的點擊次數

https://jsfiddle.net/pzzzy97v/

+1

那麼,是你的問題?代碼是做什麼的?它不應該做什麼? – 2015-09-06 15:44:33

+0

你在哪裏顯示增加的計數?你能添加一個小提琴並顯示這個問題嗎? –

+0

這是每次開始1.像這樣:https://jsfiddle.net/pzzzy97v/。 我想重新點擊李和重新啓動後,像1-2-3-4-5-6 – JohnReese

回答

0

添加一個類來看看點擊是相同的元件上,或者沒有。

RESET COUNTER

$(function() { 
 
    var counter = 0; 
 
    $('li').click(function() { 
 
    if ($(this).hasClass('active')) 
 
     counter++; 
 
    else { 
 
     $('li').removeClass('active'); 
 
     $(this).addClass('active'); 
 
     counter = 1; 
 
    } 
 
    $('span').html(counter); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<ul> 
 
    <li>box</li> 
 
    <li>box</li> 
 
    <li>box</li> 
 
    <li>box</li> 
 
    <li>box</li> 
 
</ul> 
 
<span></span>

計數器爲每個項目

$(function() { 
 
    $('li').data('count',0); 
 
    $('li').click(function() { 
 
    var thisCount = $(this).data('count'); 
 
    thisCount++; 
 
    $(this).data('count',thisCount); 
 
    $('span').html(thisCount); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<ul> 
 
    <li>box</li> 
 
    <li>box</li> 
 
    <li>box</li> 
 
    <li>box</li> 
 
    <li>box</li> 
 
</ul> 
 
<span></span>

+0

感謝您的關注。我可以分享我的jsfiddle例子嗎? – JohnReese

+0

@JohnReese這是一個工作的例子。點擊「運行代碼片段」按鈕。 – RRK

+0

「監控**每個列表項**獲得的點擊次數」 - 您的解決方案不符合要求的粗體部分 – Andreas

0

我覺得這個數組招會做你什麼甲腎上腺素編輯。你可以試試下面的代碼:

$(function(){ 
    var liClickCnt = new Array(); 
    $('li').click(function(){ 
     var counter = 0; 
     var liIndex = $(this).index(); 
     liClickCnt[liIndex] = (liClickCnt[liIndex]) ? ++liClickCnt[liIndex] : ++counter;   
     $('span').html(liClickCnt[liIndex]); 
    }); 
}); 
0

考慮的問題標題爲計數[見我做什麼呢?],你可以將數據屬性添加到每個li來記錄它多少次被點擊:

$(function() { 
    // set them all on startup for clarity 
    $("li").data("clickcount", 0); 
    $("li").click(function() { 
     // increment click count on each 
     $(this).data("clickcount", $(this).data("clickcount") + 1); 
    }); 
}); 

這從問題相匹配:點擊

  • 監視器號碼,每個列表項[是]得到
  • 時LIS t item click [my] count
  • 但是,如果這個列表項是新的,所以[從未]曾經[被]點擊過,然後開始遞增[對於該列表項] [在]零。

假設上:「這是新,所以曾經被點擊」是指一個錯字:「這是新,所以從來沒有點擊」