2016-04-30 94 views
1

我想用jQuery製作一個簡單的cookie點擊器類型遊戲(點擊計數器)。我想要一個按鈕,使點擊的價值每秒上升一個。我會如何去解決這個問題,並且在我的編碼中是否有錯誤?我對這一切都很陌生。jQuery點擊計數器

這裏是我的代碼:

$(function() { 
 
    $('#target').click(function() { 
 
    $('#output').html(function(i, val) { 
 
     return val * 1 + 1; 
 
    }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="box"> 
 
    <button id="target" type="button">Click</button> 
 
    <div id="output">0</div> 
 
</div>

+0

爲了避免解析每次更新的數量,您可能希望創建一個名爲'你操控count'和顯示來自JS變量。 – 4castle

回答

0

如果我正確認識你,你掙扎比特每秒一次增加每次點擊的價值。你要使用setInterval

jsfiddle Demo

var score = parseInt($('#output').html()); 
 
$(function() { 
 
    setInterval(function() { 
 
    score += 1; 
 
    $('#output').html(score); 
 
    }, 1000); 
 

 
    $('#target').click(function() { 
 
    score += 1; 
 
    $('#output').html(score); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="box"> 
 
    <button id="target" type="button">Target</button> 
 
    <br/> 
 
    <div id="output">0</div> 
 
</div>

+0

我剛試過這個,但是價值並不是每秒都在增加?對不起,我是一個普通的編碼巨大的noob。 –

+0

對不起 - 它1:30 am - 有點累。它的工作現在 – Erresen

+0

嗨,它只是隨機增加現在的價值?我試圖做的是製作一個按鈕,點擊後每秒增加一個值。當我點擊主按鈕時,它會將值增加1。 –

1

一個按鈕自動「點擊」按鈕將需要添加一個setInterval,不斷刷新的數字,和另一個按鈕這會更改每次刷新時添加的點擊次數。

下面是我該怎麼做。我已經用這種方式編碼它,您可以輕鬆地添加其他按鈕,以其他方式更改點擊率。注意增加count和遞增countRate之間的差異。 JSFiddle

$(function() { 
 
    var count = 0, countRate = 0, output = $('#output'); 
 

 
    setInterval(function(){ output.html(count) }, 1); // update continually 
 
    setInterval(function(){ count += countRate }, 1000); // update once-per-second 
 

 
    $('#click').click(function(){ count += 1 }); 
 
    $('#autoClick').click(function(){ countRate += 1 }); 
 
});
<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> 
 

 
<button id="click">Click</button> 
 
<button id="autoClick">Auto Click</button> 
 
<div id="output">0</div>

+0

我已經更新了我的算法幾次。現在好多了。 – 4castle