Bonjour je suis entrain de faire une galerie à l'aide de différents codes récupéré à droite et à gauche que je combine ensemble. Je débute, donc je fais comme je peux
.
Au final j'aimerai avoir une galerie de vignette, quand on clique sur la vignette, l'image apparait et quand on clique sur la croix de l'image, l'image se ferme (ça c'est ok).
Ensuite je veux une légende pour chaque image qui apparait avec un effet de glissement quand on survole avec la souris le bouton "info" (je suis entrain de bosser dessus) cet effet la marche mais des fois, la légende se bloque et je suis obligé de survoler à nouveau le bouton "info" pour qu'elle revienne à sa place, j'aurai besoin d'un peu d'aide pour ça. Il doit y avoir une erreur ou autre mais je ne vois pas quoi.
Après il faut que je trouve le moyen d'attribuer une légende à chaque image (pas encore réfléchi comment faire ). Je suis preneur de tuto...
Ensuite je veux rajouter les boutons images suivante et image précédente.(la dessus j'ai mon idée)
Une fois tout ça fini, j'aimerai que la galerie charge automatiquement les images dans le "div X" (ne pas être obliger de faire sa liste d'image à la main pratique pour la maintenance du site), mais il parait que ce n'est pas facile à faire, donc à voir.
Pour finir quand tout ça sera fait, rajouter un effet dynamique à l'apparition et la disparation des images. (ça c'est du gadget donc pas presser)
Certain vont me dire prend une lightbox ou autre, mais je dis non pour 3 raisons :
Je veux ma galerie adapté à mon site (puis si c'est moi qui l'ai faite je pourrais la modifier et la faire évoluer à souhait).
Le poids des galeries jquery ou autre.(trop lourd à télécharger)
Puis une galerie toute faite c'est pratique mais ça ne fait pas avancé en programmation.
Le code du début de gallerie :
Le .js
le .html
Merci...
PS : Je n'est pas mis les images croix et info dans des liens, est ce obligatoire ou ça marche très bien comme ça??
Modifié par Olivierb (13 Apr 2010 - 09:33)

Au final j'aimerai avoir une galerie de vignette, quand on clique sur la vignette, l'image apparait et quand on clique sur la croix de l'image, l'image se ferme (ça c'est ok).
Ensuite je veux une légende pour chaque image qui apparait avec un effet de glissement quand on survole avec la souris le bouton "info" (je suis entrain de bosser dessus) cet effet la marche mais des fois, la légende se bloque et je suis obligé de survoler à nouveau le bouton "info" pour qu'elle revienne à sa place, j'aurai besoin d'un peu d'aide pour ça. Il doit y avoir une erreur ou autre mais je ne vois pas quoi.
Après il faut que je trouve le moyen d'attribuer une légende à chaque image (pas encore réfléchi comment faire ). Je suis preneur de tuto...
Ensuite je veux rajouter les boutons images suivante et image précédente.(la dessus j'ai mon idée)
Une fois tout ça fini, j'aimerai que la galerie charge automatiquement les images dans le "div X" (ne pas être obliger de faire sa liste d'image à la main pratique pour la maintenance du site), mais il parait que ce n'est pas facile à faire, donc à voir.
Pour finir quand tout ça sera fait, rajouter un effet dynamique à l'apparition et la disparation des images. (ça c'est du gadget donc pas presser)
Certain vont me dire prend une lightbox ou autre, mais je dis non pour 3 raisons :
Je veux ma galerie adapté à mon site (puis si c'est moi qui l'ai faite je pourrais la modifier et la faire évoluer à souhait).
Le poids des galeries jquery ou autre.(trop lourd à télécharger)
Puis une galerie toute faite c'est pratique mais ça ne fait pas avancé en programmation.
Le code du début de gallerie :
Le .js
function affiche_img(nom_image,largeur,hauteur)
{
var chemin = "./galerie/"+nom_image;
largeur = largeur+0;
hauteur = hauteur+0;
document.getElementById("bt_aff_photo").style.visibility="visible";
document.getElementById("bt_aff_photo").style.height=hauteur+"px";
document.getElementById("bt_aff_photo").style.width=largeur+"px";
document.getElementById("bt_aff_photo").style.backgroundImage="url("+chemin+")";
document.getElementById("bt_aff_photo").style.backgroundPosition="0px 0px";
document.getElementById("bt_aff_photo").style.left="200px";
document.getElementById("bt_aff_photo").style.top="125px";
document.getElementById("middle").style.visibility="hidden";
}
function enleve_img()
{
document.getElementById("middle").style.visibility="visible";
document.getElementById("bt_aff_photo").style.visibility="hidden";
document.getElementById("bt_aff_photo").style.height="0px";
document.getElementById("bt_aff_photo").style.width="0px";
}
//-- effet d'apparition légende
var Timer;
var Pas = 8; // vitesse défilement
var H_Fenetre = -1;
var H_Bandeau;
function moveLayerl(Sens){
var Obj;
if( H_Fenetre < 0){
//-- Recup largeur objet defilant
Obj = document.getElementById( "Contenul");
H_Bandeau = Obj.offsetRight;
//-- Recup largeur zone de defilement
Obj = document.getElementById( "Supportl");
H_Fenetre = Obj.offsetTop;
}
//-- Recup Objet
if(document.getElementById)
Obj = document.getElementById("Contenul" );
var Min_X = -(H_Bandeau -H_Fenetre);
var Pos_X = parseInt(Obj.style.left) + (Pas*Sens); // prochaine position du DIV
//-- Test des positions
if( Pos_X > 150){
Obj.style.left = "150px"; // Place a zero
}
else{
if( Pos_X < 0)
Obj.style.left = "0px"; // Place en positionmini
else{
//-- Deplacement autorise on deplace
Obj.style.left = Pos_X + "px";
//-- et on y retourne
Timer = setTimeout("moveLayerl(" + Sens + " );", 25);
}
}
}
le .html
<body>
<div id="bt_aff_photo">
<div id="navigation_image" style="float:right; width:20px;">
<img src="./design/croix.png" style="float:right; margin:5px;" alt="" onclick="javascript:enleve_img();"/>
<!--testdefilement-->
<img src="./design/info.jpg" style="float:right; margin:5px;" alt="information" onmouseover="moveLayerl(-1);" onmouseout="clearTimeout(Timer), moveLayerl(1);" />
</div>
<div id="Supportl" style="position:relative; width:150px; height:150px; float:right; margin-top:150px; margin-right:-10px; overflow:hidden;">
<div id="Contenul" style="position:absolute; width:150px; height:150px; left:150px; top:0;">
<!--fintestdefilement-->
<p class="legende" style="width:150px; height:150px; padding:5px; background-image: url(./design/backinfo.png);">Ceci et l'image de blabla</a></p>
</div>
</div>
</div>
</body>
Merci...
PS : Je n'est pas mis les images croix et info dans des liens, est ce obligatoire ou ça marche très bien comme ça??
Modifié par Olivierb (13 Apr 2010 - 09:33)