2012-11-10 94 views
2

我正在開發一個交互式的信息圖表。基本上有一些圈子飛來飛去。我試着通過點擊一個按鈕來改變圓的數量,因此我想通過點擊1來增加變量d以從數組中獲得其他元素。但它不起作用。有任何想法嗎?點擊增量變量jquery

var leuko = ["167", "143", "134", "96"]; //array 


var d = 0; //variable 

$("#day").click(function() { 

d += 1; 

_

for (var i = 0; i < leuko[d]; i++) { 

var x = 20 + (Math.random() * (canvasWidth - 40)); 
var y = 20 + (Math.random() * (canvasHeight - 40)); 

var radius = 5; 
var vX = Math.random() * 0.2; 
var vY = Math.random() * 0.2; 

我希望你能理解我的問題,因爲我的英語isn't最好的。

這是一個jsfiddle鏈接。佈局看起來有點亂了..

http://jsfiddle.net/JDU6H/

謝謝!

+1

你的腳本正在遞增'd',但問題是,這個變量在文檔準備中只能使用一次.. –

+0

是的,'d'正在遞增。 http://jsfiddle.net/JDU6H/1/ – Sparky

+1

如果你想完全重寫你的代碼,我可以在這裏幫助你在StackOverflow聊天。我的第一語言是德語;) – ComFreek

回答

1

無需重寫代碼的許多地方,你可以簡單地改變你的點擊功能:

$("#day").click(function() { 
    d += 1; 

    var x = 20 + (Math.random() * (canvasWidth - 40)); 
    var y = 20 + (Math.random() * (canvasHeight - 40)); 

    var radius = 5; 
    var vX = Math.random() * 0.2; 
    var vY = Math.random() * 0.2; 

    zellen.push(new Zelle(x, y, radius, vX, vY)); 
}); 

http://jsfiddle.net/JDU6H/2/

不過我建議你創建的所有細胞的一類並添加添加()函數。

+0

這工作正常。唯一的問題是,我不想只添加一個circel,而是從數組中改變elemet。例如,我想繪製leuko [0](167個圓圈),然後將元素更改爲leuko [1](143個圓圈),等等...... –