2016-12-17 59 views
1

我想分配我的變量粒子(這是一個圓svg)到類pelClass。由於某種原因,它沒有被分配,並造成了很多問題。請幫忙!如何分配一個類到一個SVG元素

function positionPellet() 
{ 
    constantCount = 1; 

    while(pelletCount < constantCount*3) 
    { 
    var pellet = document.createElementNS(xmlns, 'circle'); 
    pellet.setAttribute('cx', Math.random() * window.innerWidth); 
    pellet.setAttribute('cy', Math.random() * window.innerHeight); 
    pellet.setAttribute('r' , 10); 
    pellet.className = "pelClass"; //Pellet Class Adding 
    pelletCount++; 
    pelletList = new Array(pelletCount); 
    pelletList.push(pellet); 
    svg.appendChild(pellet); 
    } 
} 
+0

pelletList =新陣列(pelletCount); ?你真的想創建一個新的數組嗎?也許這個聲明應該在循環之前運行 – user2182349

+0

你嘗試過'pellet.class =「pelClass」;'?你爲什麼將你的問題描述爲「試圖將一個var分配給一個類」?難道不是「試圖給SVG元素分配一個類」嗎? – 2016-12-17 04:39:53

+0

如果您正確地將值分配給pelletCount,xmlns和svg,代碼工作正常。這有什麼問題? – Deep

回答

1

在SVG語法是

pellet.className.baseVal = "pelClass"; //Pellet Class Adding 

或可替代地可以使用的setAttribute(其工作方式相同HTML)

pellet.setAttribute('class', "pelClass"); //Pellet Class Adding 
+0

它幾乎解決了我的問題,看到我需要將它添加到類中以檢查碰撞,當我運行它並將它碰撞到圓中時,它沒有顯示該圓與相應的類名相關聯。 –

相關問題