2012-06-17 4 views
2

J'utilise SVG pour afficher des animations. Mais étant débutant à SVG Je simmply en utilisant Testée et approuvée animations jQuery pour animer des éléments SVG tels que rect et le cercle etc.Comment changer les attributs d'éléments SVG en utilisant jQuery?

Maintenant, ce n'est pas un double de jQuery Selector + SVG Incompatible? .. Je veux changer la classe d'un <rect class="my-class-1 box" ...></rect> J'ai essayé les méthodes jquery normales de addClass() et removeClass(). Ce qui ne fonctionne pas en raison de leurs différences dans la structure DOM de HTML et SVG. Donc, j'utilise le plugin http://keith-wood.name/svgRef.html pour faire l'animation et l'accès aux éléments SVG.

Coincé entre le rock et un endroit dur

apprécie l'aide Thnx

+0

jQuery-SVG par Keith Wood est un peu vieillot. Vous devriez envisager d'utiliser [Raphael] (http://raphaeljs.com/) à la place. –

+0

ou SVGWeb. D3.js gère également les animations, mais est principalement un framework de visualisation de données. –

+0

Merci. Je vais jeter un oeil et voir si ces plugins peuvent faire ce que je veux. – Rohan210

Répondre

0

Pour ce faire à l'aide du plug-in svg jQuery, donner le rect une propriété ID personnalisée et l'utiliser comme sélecteur. Assurez-vous d'inclure aussi jquery.svgdom.js.

svgCanvas.polygon(group, getPoints(), { customID:'123', stroke: 'orange', strokeWidth: 2, class: 'my-class-1' }); 

Maintenant, pour changer la classe, utilisez ce sélecteur:

var selector = 'svg polygon[customID="123"]'; 
$(selector).removeClass('my-class-1').addClass('my-class-2'); 
Questions connexes