Ouvrir une fenêtre Fancybox sans clic
Par bb, jeudi 7 janvier 2010 à 16:02 :: SPIP ::#103
Voici une petite astuce pour ceux et celles qui utilisent le plugin Fancybox pour SPIP. Dans certains cas, on souhaite ouvrir une fenêtre Fancybox sans que le visiteur clique sur un lien (au chargement de la page par exemple). Pour ce faire, il suffit d’utiliser le code suivant.
<a href="http://www.spip.net/squelettes/img/spip.png" id="fancy_auto"></a>
<script type="text/javascript">
(function($){
$(function(){
$("a#fancy_auto").fancybox({
"hideOnContentClick": false
}).trigger("click");
});
})(jQuery);
</script>Le principe est assez simple. Pour commencer on insère un lien vide dans sa page. On pourra le cacher à l’aide des CSS avec la propriété display:none; si nécessaire.
Ensuite, on insère un petit bout de javascript qui dans notre cas se lancera au chargement de la page. Ce script va "simuler" un clic sur notre lien à l’aide de la fonction jQuery trigger().
Et voilà :)
Source de l’astuce sur la liste de Fancybox.
Commentaires
Bonjour,
Merci du tuyau, mais cel ne fonctionne pas avec le plugin spip, en l’occurence, les paramètre personnalisé via cfg ne sont pas retenus et impossible de lancer une galerie.
Pour lancer avec les paramètres de spip :
<script type="text/javascript">
(function($){
$(function(){
$("a.fancybox").extend({
"setting": []
}).trigger("click");
});
})(jQuery);
</script>
mais je n’arrive pas à conserver les données du diaporama.
avis aux bonnes idées ?