2013-08-26 52 views
0

好幾個小時後,試圖找出一種方法來做到這一點,我什麼都沒有得到。我知道我需要SVG jQuery插件,所以我已經得到了toggleClass()函數,但我試圖從我的所有組元素中刪除類,然後將另一個類添加到組元素中:jQuery SVG removeClass()

$('g').removeClass().addClass('slice'); 

我在jQuery網站上的removeClass文檔中找到了這行代碼。

最終,我的願望是擁有這個餅圖的技巧,當一個切片被點擊時,它會從餅上略微移除,直到點擊另一個切片。一旦單擊另一個切片,則將前一個切片返回到餅圖,並且將新點擊的切片拉出。你可以通過查看我的jsFiddle來查看我所得到的結果。我已經設法將切片拉出來,但是我掙扎的地方是讓它們在單擊另一個切片時滑回。

的jsfiddle例子:http://jsfiddle.net/jrjacobs24/BhWCh/30/

我一直試圖去基思·伍德的插件,這裏的文檔throuh:

http://keith-wood.name/svg.html#dom

但只是還沒有任何運氣。任何幫助將不勝感激。讓我知道是否有任何含糊或需要清晰。先謝謝你!

+0

您需要定義類,你要刪除剛剛removeClass()將無法工作。 –

回答

0

而不是g,使用id選擇器爲jquery。

1

試試這個:

$('g').attr("class","").addClass('slice'); 
+0

或'''$('g')。attr(「class」,「slice」);''' –

0

試試這個:

$(".slice").click(function() { 

    $('g').attr("class","").addClass('slice'); 

    if ($(this).is("#HTML_1_")) {    
     $(this).toggleClass("HTML_1_clicked"); 
    } else if ($(this).is("#Wordpress")) {    
     $(this).toggleClass("Wordpress_clicked"); 
    } else if ($(this).is("#jQuery")) {   
     $(this).toggleClass("jQuery_clicked"); 
    } else if ($(this).is("#java_1_")) {    
     $(this).toggleClass("java_1_clicked"); 
    } else if ($(this).is("#Dreamweaver")) {    
     $(this).toggleClass("DW_clicked"); 
    } else if ($(this).is("#Photoshop")) {   
     $(this).toggleClass("PS_clicked"); 
    } else {    
     $(this).toggleClass("CSS_clicked"); 
    } 
}); 

工作小提琴這裏:http://jsfiddle.net/BhWCh/31/