Je crée des cercles en utilisant Raphael. Quand un utilisateur clique sur un bouton, je veux animer ces cercles (en augmentant leur rayon). Comment puis-je faire cela?comment appeler les méthodes raphael sur des objets jquery?
Par exemple, voici mon exemple de code:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="raphael.js"></script>
<script type="text/javascript">
$(function() {
var paper = new Raphael("canvas_container", 300, 150);
paper.circle(50, 75, 30);
paper.circle(150, 75, 30);
$("button").click(function() {
$("circle").each(function(i) {
this.animate({ r: 100 }, 500); // Doesn't work.
});
});
});
</script>
</head>
<body>
<div id="canvas_container"></div>
<button>Click me to animate the circles</button>
</body>
</html>
[En général, je ne suis pas clair quelle est la différence entre les deux variables suivantes:
var c = paper.circle(50, 75, 30); // Raphael circle
$("circle").first(); // using jQuery to grab that Raphael circle
est l'objet jQuery une enveloppe autour du cercle de Raphael?]
Cool, merci. Oui, ça fonctionne. J'espérais accéder à une sorte d'objet-cercle jQuery, afin que je puisse utiliser les fonctions de délai de jQuery dans mes animations, mais peut-être que c'est trop de problèmes = \. – grautur
@grautur Vous pouvez utiliser 'setTimeout' pour faire cela –