0

何時間もかけてこれを行う方法を見つけようとしても、何も思いつきませんでした。私は SVG jQuery プラグインが必要であることを知っていたので、それを持っていて、toggleClass() 関数を機能させましたが、すべてのグループ要素からクラスを削除してから、グループ要素に別のクラスを追加しようとしています:

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

jQuery サイトの removeClass ドキュメントから、このコード行を見つけました。

最終的に私の望みは、スライスをクリックすると、別のスライスがクリックされるまで円グラフからわずかに削除されるスキルのこの円グラフを持つことです。別のスライスをクリックすると、前のスライスがパイに戻り、新しくクリックされたスライスが引き出されます。私のjsFiddleをチェックアウトすることで、私が何をしているのかを見ることができます。なんとかスライスを引き出すことができましたが、苦労しているのは、別のスライスがクリックされたときにスライスを元に戻すことです。

jsFiddle の例: http://jsfiddle.net/jrjacobs24/BhWCh/30/

Keith Wood のプラグインのドキュメントを調べてみました。

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

しかし、運がなかっただけです。どんな助けでも大歓迎です。あいまいな点や明確にする必要がある場合はお知らせください。前もって感謝します!

4

4 に答える 4

1

これを試して:

$('g').attr("class","").addClass('slice');
于 2013-08-26T08:26:51.907 に答える
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/

于 2013-08-26T08:30:43.043 に答える
0

の代わりに、 jquery のセレクターをg使用します。id

于 2013-08-26T08:23:49.160 に答える
0

要素.clickedの状態/クラスとして検討することをお勧めします。クラス.sliceを削除する必要はありません。.slice

このフィドルを見てください:http://jsfiddle.net/sinsedrix/AKXTV/

于 2013-08-26T09:16:29.280 に答える