Hello Smiley smile

J'adore les nouvelles techniques DOM permettant de faire des trucs géniaux, et surtout, la possibilité de VOIR des objets sans à recharger la page ... tout en etant bien compatible avec tous les navigateurs.

Mon souci est le suivant. Que faire pour que ce script me permette de gerer 1, 2, 30, 50 galeries sur une meme page ? Je pense à incorporer ce script sur mon blog > http://www.leblogderod.com ou vous pourrez constater que j'utilise actuellement une alternative flash. Le souci avec le script JS, c'est qu'il fonctionne selon 1 ID et que le XHTML n'autorise qu'un ID par page. J'espere que je suis clair Smiley smile
Modifié par Rod Le HibOO (21 Aug 2006 - 21:51)
Hop, très simple, tu places l'id en paramètre de la fonction et tu fais autant d'appel de fonction que d'ID différents.

Ou tu fais un tableau en paramètre, et à l'appel de la fonction tu indiques en paramètre autant d'ID dans le tableau que d'ID sur ta page.

Mais j'imagine que ta gestion de galerie photo sera dynamique, donc il faudra "écrire" ces appels via ton langage côté serveur.

Genre :

<script type="text/javascript" src="galerie.js"></script>
<script type="text/javascript">
<?php
foreach ($tab as $val) {
   echo "mafonctionJS(" . $val . ");";
}
?>
</script>


Vite fait à l'arrache là.
(où $tab est ton tableau de galerie photo).

Enfin, après je sais pas trop pour quoi ces faire.
Merci à toi monsieur le moderateur (I love Totoro !) ... mais meme si ce que tu dis doit etre pertinent et dans ta tete tres simple à comprendre, moi ca m'echappe Smiley smile J'ai toujours eu un probleme avec ces ID uniques dans les scripts ... alors pour ta question disons que dans un premier temps, NON ca ne sera pas dynamique (cf l'url que je t'ai donnée), en revanche je gere un site de sorties ... et la oui ca risque de devenir dynamique. Alors je sais que c'est abusé, mais si tu pouvais me donner le code tout betement, car je vois pas. Il y a sans doute moyen d'avoir un script generique sans rien toucher dedans et de pouvoir creer autant de galeries ... non ?

Neanmoins, merci pour ta reponse si rapide.
Ca works nickel sous IE
Ca works nickel sous FF
Ca works nickel sous Opera Smiley smile

Happy Smiley smile il ne manquerait plus qu'un systeme de navigation quand on a trop de thumbs ... et ca serait ideal, mais rien que la ... c plus que parfait Smiley smile
Modifié par Rod Le HibOO (23 Aug 2006 - 02:41)
Pour les ID, oui ça doit être unique, mais ça ne pose pas de problème.

Exemple :

<div id="magalerie1">
...
</div>

<div id="magalerie2">
...
</div>


Tu peux tout à fait indiquer en paramètre de ta fonction JS, l'ID à utiliser.

function mafonction(leparametre)
{
...
}

Et à l'appel :

window.onload = function()
{
mafonction('magalerie1');
mafonction('magalerie2');
}


Et hop Smiley cligne

La version à base de class suggérée par chmel est une autre version mais nécessite l'ajout de la fonction "getElementsByClass" (ce qui n'est pas réellement un problème Smiley cligne , mais il faut le savoir)

Bon, bah je crois que le problème est résolu (pour le dynamique, à base de class, ça ira très bien a priori)

Pour conclure, tout ce qui est améliorations à apporter au script, ça se passe chez vous ou sur le forum, mais je ne m'en occuperais pas ni ne l'ajouterai au tuto personnelement. (pas le temps, pas l'envie, pas les compétences, ...)

Par contre, si quelqu'un arrive à une solution, il peut la soumettre sur le forum, on en discutte calmement, on teste, on améliore si besoin, on assainit si besoin, on simplifie si besoin et on rédige un complément de tutoriel.

Mais pour tous les tutoriels (enfin, ceux que j'ai rédigé en tout cas, c'est ma façon de voir les choses), le but est de proposer une base simple et fonctionnelle. Ensuite, libre à chacun d'en faire une usine à gaz Smiley cligne
Olivier a écrit :
La version à base de class suggérée par chmel est une autre version mais nécessite l'ajout de la fonction "getElementsByClass"

Non, je remonte les parents de l'élément cliqué pour vérifier si le conteneur a bien la class "galerie"
a écrit :


Par contre, si quelqu'un arrive à une solution, il peut la soumettre sur le forum, on en discutte calmement, on teste, on améliore si besoin, on assainit si besoin, on simplifie si besoin et on rédige un complément de tutoriel.

Je suis d'accord Smiley smile
Modifié par chmel (24 Aug 2006 - 17:29)