Bonjour,
Je sais que le sujet à été déjà soulevé mais je n'y ai pas trouvé la réponse à mon problème: j'ai un swf avec, en animation, une série de vignettes (40) qui défilent suivant le mouvement de la souris. Quand on clique sur une des vignettes, l'image apparait en grand en lightbox. Cela fonctionne à un point près: lorsque on est dans la lightbox, il n'y a plus la possibilité de passer à la suivante sans refermer la lightbox (c'est à dire que les boutons prev ou next n'apparaissent pas et les touches n et p ne sont plus actives).
Dans le flash, j'envoie l'adresse au js par :
avec this.index, identifie la vignette.
Pour communiquer entre flash et la lightbox (celle de jQuery), j'utilise le script proposé par The True Tribe :http://www.thetruetribe.com/jquery/1-jquery-api/87-calling-any-js-lightbox-from-flash-using-jquery
ce qui donne :
Le principe est donc de créer via js une balise a sur laquelle s'applique la lightbox.
A priori, je suppose que le problème vient du fait qu'il n'y a qu'un lien de créé et que cela pourrait se résoudre en disant en js qu'en fait il y a 40 liens (genre boucle for????), mais là je cale, étant ignare en js...
Si quelqu'un peut m'éclairer, ce serait avec grand plaisir....
Modifié par Lamx (25 Feb 2009 - 15:00)
Je sais que le sujet à été déjà soulevé mais je n'y ai pas trouvé la réponse à mon problème: j'ai un swf avec, en animation, une série de vignettes (40) qui défilent suivant le mouvement de la souris. Quand on clique sur une des vignettes, l'image apparait en grand en lightbox. Cela fonctionne à un point près: lorsque on est dans la lightbox, il n'y a plus la possibilité de passer à la suivante sans refermer la lightbox (c'est à dire que les boutons prev ou next n'apparaissent pas et les touches n et p ne sont plus actives).
Dans le flash, j'envoie l'adresse au js par :
ExternalInterface.call("external", "ABCap4/abcap"+this.index+".jpg");
avec this.index, identifie la vignette.
Pour communiquer entre flash et la lightbox (celle de jQuery), j'utilise le script proposé par The True Tribe :http://www.thetruetribe.com/jquery/1-jquery-api/87-calling-any-js-lightbox-from-flash-using-jquery
ce qui donne :
<script type="text/javascript">
function external(path) { // pass in the correct path to the function so we only need one <a> for infinite amount of calls from flash
// if the lightbox does not exist we will make it
if ($('a#lightbox').length == 0) {
$("body").append("<a id='lightbox' style='visibility: hidden; position: absolute; left: -9999px; ' href="+path+">calling js lightbox from flash</a>");
$('a#lightbox').lightBox();
// if it already exists but the path is different we will set the new path
} else if ($('a#lightbox').attr("href") != path) {
$('a#lightbox').attr("href", path);
}
// now we will simulate the click here.
$('a#lightbox').trigger("click");
}
</script>
Le principe est donc de créer via js une balise a sur laquelle s'applique la lightbox.
A priori, je suppose que le problème vient du fait qu'il n'y a qu'un lien de créé et que cela pourrait se résoudre en disant en js qu'en fait il y a 40 liens (genre boucle for????), mais là je cale, étant ignare en js...
Si quelqu'un peut m'éclairer, ce serait avec grand plaisir....
Modifié par Lamx (25 Feb 2009 - 15:00)