Pages :
(reprise du message précédent)

Hello Koala et les autres Smiley cligne

Voici ma nouvelle page:
http://www.princessedunjour.com

J'ai donc repris le tuto de Michel Deboom dans le tuto javascript

J'ai l'impression que j'approche du but Smiley ravi

Mais:
- ma page s'est allongée et depasse maintenant du cadre violet en bas... savez vous pourquoi ?
- comment positionner le pop up sur la page (là il est centré par défaut)
- quand on déscative JS, une nouvelle page apparait avec l'image agrandie.
Y a t'il un moyen de rajouter un lien "retour" qui permet à l'internaute de revenir sur la page initiale ?

Je vous remets tous mes codes


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">


<head>
	<title>Une popup accessible</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
	
	<link rel="stylesheet" href="fiche-produit4.css" type="text/css" />
    <link rel="stylesheet" href="zoom.css" type="text/css" />
<!--[if lte IE 6]><link rel="stylesheet" href="zoom_ie.css" type="text/css" /><![endif]-->
	<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
</head>

<body>
	<div id="page">
		<div id="header">
			<a href="index.htm" id="Logo">
				<img src="images/Logo.gif" alt="Logo Princesse d'un Jour" width="274" height="58" title="Aller à l'accueil" />
			</a>
			<h1><img src="images/h1.gif" alt="Bijoux et accessoires pour le mariage" /></h1>
			<p id="langue">Langue</p>
			<ul id="menu_langue">
			<li><a id="english" title="English version" href="http://www.english.princessedunjour.com">EN</a></li>
			<li><a id="français" title="version française" href="index.htm">FR</a></li>
			</ul>
		</div>

	<div id="haut">
			<ul id="menuhaut">
			<li><a id="menu1" title="Aller à l'accueil" href="index.htm">ACCUEIL</a></li>
			<li><a id="menu2" title="Nos collections de bijoux pour le mariage" href="collections-page1.htm">COLLECTIONS</a></li>
			<li><a id="menu3" title="Trouver un point de vente" href="points-de-vente.htm">POINTS DE VENTE</a></li>
			<li><a id="menu4" title="Nos secrets de fabrication" href="atelier-de-creation.htm">ATELIER DE CREATION</a></li>
			<li><a id="menu5" title="Tout savoir sur Princesse d'un Jour" href="a-propos.htm">A PROPOS</a></li>
			<li><a id="menu6" title="Contacter la créatrice" href="contact.htm">CONTACT</a></li>
			</ul>
	  </div>

		<div id="gauche">
			<ul id="menugauche">
				<li><a id="menua" title="Découvrir toute la collection" href="collections-page1.htm">TOUTE LA COLLECTION</a></li>
				<li><a id="menub" title="Les modèles en perles de rocaille" href="perles-de-rocaille.htm">PERLES DE ROCAILLE</a></li>
				<li><a id="menuc" title="Les modèles en perles nacrées" href="perles-nacrees.htm">PERLES NACREES</a></li>
				<li><a id="menud" title="Les modèles en cristal Swarovski" href="cristal-swarovski.htm">CRISTAL SWAROVSKI</a></li>
				<li><a id="menue" title="Les modèles en fleurs de soie" href="fleurs-de-soie.htm">FLEURS DE SOIE</a></li>
				<li><a id="menuf" title="Les modèles en guipure brodée" href="guipure-brodee.htm">GUIPURE BRODEE</a></li>
			</ul>
		</div>

		<div id="centre">

			<div id="zone_haut">
				<p class="breadcrumb">Vous êtes ici: <a href="index.htm">Accueil</a>    |<a id="coll" href="collections-page1.htm">Collection</a>    |<a id="page1" href="collections-page1.htm">Page 1</a>    |<a id="modele" href="parure-camelia.htm">Parure Camélia</a>				</p>

				<div id="acces_pages">
					<a href="parure-estella.htm">Modèle suivant</a> >
				</div>

				<div id="produit1">
					<img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225" />
				</div>


				<div id="descriptif">
					<h2>Camélia</h2>
					<h3>"Toute la finesse et la délicatesse de la fleur de Camélia"</h3>
					<p id="composition">- Composition: Perles de rocaille à facettes et perles de verre nacrées. Fermoirs et anneaux en argent massif 925</p>
					<p id="coloris">- Coloris: crème</p>
					<p id="autres_coloris">- Coloris également disponibles: blanc ou autres coloris sur mesure</p>
					<p id="tarifs">- Tarifs: contactez nos boutiques partenaires>> </p>
					<p id="compo">- Parure composée de: Collier | Bracelet | Pics à cheveux | Boucles d'oreilles</p>
				</div>
<div id="element1">
<a href="images/orchidee-fp.jpg" class="vig" title="Collier Orchidée"><img alt="Le collier Orchidée" src="images/orchidee-fp-collier.jpg" width="90" height="90" /><span>Cliquer pour agrandir</span></a></div>

<div id="element2">
<a href="images/orchidee-fp.jpg" class="vig" title="Bracelet Orchidée"><img alt="Le bracelet Orchidée" src="images/orchidee-fp-bracelet.jpg" width="90" height="90" /><span>Cliquer pour agrandir</span></a></div>

				<div id="acces_pagesbas">
					<a href="parure-estella.htm">Modèle suivant</a> >
				</div>
			</div>
		</div>

	<div id="pied">
	<p id="mentions">Copyright © 2006 Princesse d'un Jour. Tous droits réservés. Princesse d'un Jour® est une marque déposée.</p>
	<p id="partenaires">Sites partenaires : <a href="http://www.noces-provencales.com">Organisation de mariage en provence</a> avec Noces-Provencales.com | <a href="http://www.notremariage.net/decouvrir.htm">NotreMariage.net</a></p>
	  </div>
	</div>
<script type="text/javascript" src="popup.js">
</script>
</body>
</html>


fiche-produit4.css

*{margin:0;padding:0;}
body{background:url(images/background2.gif) repeat-y center top;font-family:Geneva, Arial, Tahoma, sans-serif;margin:0;padding:0;font-size: 85%;}
img{border-style:none;border-width:0;}
#page{text-align:left;width:743px;background-color:#FFF;border:1px solid #6C3089;margin:5px auto;}
#header{height:67px;}
h1{display:inline;margin-left:15px;}
p#langue{position:absolute;display:inline;color:#666;padding-top:28px;padding-left:40px;font-size:0.8em;}
#menu_langue{position:absolute;display:inline;list-style-type:none;width:40px;padding-top:30px;padding-left:80px;}
#menu_langue li{float:left;}
#menu_langue a{float:left;text-align:center;line-height:12px;color:#666;text-decoration:none;}
#menu_langue a:hover{color:#6C3089;text-decoration:underline;}
#english{width:20px;border-right:1px solid #666;font-size:0.8em;}
#français{padding-left:3px;width:15px;font-size:0.8em;}
#menu_langue a:focus,#menu_langue a:active{text-decoration:underline;color:#999;}

#haut{float:left;width:743px;border-top:1px solid #6C3089;border-bottom:1px solid #6C3089;margin:2px 0 0;}
ul#menuhaut{clear:both;width:100%;letter-spacing:3px;list-style-type:none;font-size:0.7em;text-align:center;}
#menuhaut li{float:left;}
#menuhaut a{display:block;color:#FFF;text-decoration:none;text-align:center;line-height:20px;}
#menu1{width:90px;background-color:#8E6784;color:#000;}
a#menu2{color:#6C3089;}
#menu2{width:122px;background:#FFF;}
#menu3{width:160px;background:#8E6784;}
#menu4{width:190px;background:#8E6784;}
#menu5{width:90px;background:#8E6784;}
#menu6{width:91px;background:#8E6784;}

#gauche{float:left;width:150px;list-style-type:none;text-decoration:none;line-height:35px;padding-left:5px;margin-top:25px;color:#6C3089;}
#menugauche a{text-decoration:none;color:#666;}
ul#menugauche{list-style-type:none; letter-spacing: 0.5px;font-size:0.7em;}
li#menugauche{float:left; margin-left:10px;}
a#menua{color:#6C3089;font-weight:900;}

#centre{float:left;height:400px;padding-top:5px;width:588px;color:#666;}
#zone_haut{position:relative;}
p.breadcrumb{position:relative;top:5px;font-size:0.8em;color:#666;width:150px;display:inline;}
p.breadcrumb a{color:#666;text-decoration:none;}
p.breadcrumb a:hover{text-decoration:underline;color:#6C3089;}
a#coll{padding-left: 3px;}
a#page1{padding-left: 3px;}
a#modele{padding-left: 3px;}
a#produit:hover{text-decoration:none;color:#666;}
#acces_pages{position:absolute;top:10px;right:35px;line-height:20px;font-size:0.8em;}
#pages{list-style-type:none;width:100%;line-height:20px;}
#pages li{float:right;}
#pages a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}
#pages a:hover{text-decoration:underline; color:#6C3089;}
a.lastpage{letter-spacing:-1px;padding-left:3px;}
#pages a.selected{font-weight:700;color:#6C3089;text-decoration:none;}
#pages a.selected:hover{text-decoration:none;}
a.firstpage{letter-spacing:-1px;padding-right:4px;}
#pages a:focus,#pages a:active,p.breadcrumb a:focus,p.breadcrumb a:active{text-decoration:underline;color:#999;}

#produit1{position:relative;display:block;top:15px;width:120px;text-decoration:none;}
#element1{position:absolute; top:290px;left:0px;}
#element2{position:absolute; top:290px;left:150px;}
#element3{position:absolute; top:290px;left:300px;}
#element4{position:absolute; top:290px;left:450px;}
#element5{position:absolute; top:290px;left:600px;}
#descriptif{position:absolute;top:31px;left:200px;}
h2{color:#6C3089;font-weight:bold; font-size:1em;}
h3{padding-top:10px;font-weight:bold; font-size: 0.9em;}
p#composition{padding-top:10px;font-size:0.8em;}
p#coloris{padding-top:5px;font-size:0.8em;}
p#autres_coloris{padding-top:5px;font-size:0.8em;}
p#tarifs{padding-top:5px;font-size:0.8em;}
p#compo{padding-top:5px;font-size:0.8em;}

#produit1 a,#element1 a,#element2 a{font-size:0.8em;text-decoration:none;color:#666;display:table-cell;text-align:center;/*display:inline-block;*/}
#produit1 img,#element1 img,#element2 img{display:block;border-style:none;border-width:0;text-align:center;}

#acces_pagesbas{position:absolute;top:400px;right:35px;line-height:20px;font-size:0.8em;}
#pagesbas{list-style-type:none;width:100%;line-height:20px;}
#pagesbas li{float:right;}
#pagesbas a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}
#pagesbas a:hover{text-decoration:underline; color:#6C3089;}
#pagesbas a.selected{font-weight:700;color:#6C3089;text-decoration:none;}
#pagesbas a.selected:hover{text-decoration:none;}
#pied{clear:both;height:30px;text-align:center;padding-bottom:5px;}
#pied a{text-decoration:none;color:#666;}
p#mentions,p#partenaires{color:#666;font-size:0.7em;}


zoom.css

#pop{ /* fenêtre */
position:absolute;
cursor:move;
left:3px;
top:3px;
display:none;
z-index:200;
background-color:#FFF;
border:1px outset;
border-color:#6C3089;
}
#tet{ /* titre */
font-family:Geneva, Arial, Tahoma, sans-serif;
font-size:0.9em;
color:#6C3089;
background-color:#FFF;
padding:0 20px 0 .5em;
white-space:nowrap;
}
#croix{ /* croix pour fermer */
position:absolute;
margin:0;
border:0;
right:0;
top:0;
padding:0;
height:14px;
width:16px;
cursor:pointer;
}
/*liens avec vignette*/
a.vig:hover,a.vig:focus{background:transparent;moz-opacity:.7;opacity:.7;}


popup.js

// initialisation 
D=document;gk=window.Event?1:0 //Gecko; 
cpt=sx=sy=dx=dy=e=drag=lock=0 

function addEvent(obj,evType,fn,capt){ // ajoute un événement sans écraser l'éxistant. 
if(obj.addEventListener){obj.addEventListener(evType,fn,capt);return true;} // NS6+ 
else if(obj.attachEvent)obj.attachEvent("on"+evType,fn) // IE 5+ 
else {return false;} 
} 

// correction IE : cache les éléments select 
function voirSelect(v){ 
elem=document.getElementsByTagName('select');
if(!gk){for(i=0;i<elem.length;i++)elem[i].style.visibility=v;} 
} 

function grandeImage(){ 
		voirSelect('hidden');cpt=0
		//charge l'image dans le cache du navigateur. 
		im=new Image();im.src=this.href;
		// renvoi le title 
		im1.title=this.title; 
		//infos sur la fenêtre du navigateur
		fen_x=gk?innerWidth-20:db.clientWidth //l fenêtre 
		fen_y=gk?innerHeight:db.clientHeight  //h fenêtre 
		sx=gk?pageXOffset:db.scrollLeft; //scroll h 
		sy=gk?pageYOffset:db.scrollTop; //scroll v 
		//montre l'entête avec le mot "patientez". 
		with(gdim.style){display="block";top=sy+2+'px';left=sx+2+'px'}; 
		im1.style.display='none';lx.firstChild.data="Patientez";
		actif=setTimeout('controleChargement()',300) 
		//désactive l'action normale du lien HTML 
		;return false 
	} 

// controle le chargement de l'image 
function controleChargement(){ cpt++
clearTimeout(actif); // arrête le compteur en cours
if(cpt==1&&im.height<31)alert('image absente ou erreur d\'URL')
lx.firstChild.data+="."; // ajoute "." par seconde
if(im.complete){ // image affichée en fin de chargement
  with(im1){style.display='block';src=im.src;width=im.width;height=im.height;
	// title reporté dans l'entête
	lx.firstChild.data=im1.alt=im1.title
	// centre l'image dans la fenêtre
	sx=gk?pageXOffset:db.scrollLeft; //scroll h 
	sy=gk?pageYOffset:db.scrollTop; //scroll v 
	gdim.style.left=fen_x/2-gdim.offsetWidth/2+sx+'px'; 
	gdim.style.top=fen_y/2-gdim.offsetHeight/2+sy+'px'; 
  }; 
}
else actif=setTimeout('controleChargement()',1000) 
} 

// Création des éléments de la fausse fenêtre
		// Conteneur :
gdim=D.createElement("div");D.body.appendChild(gdim);gdim.id="pop";
lx=D.createElement("div");gdim.appendChild(lx);
		// Entête :
lx.appendChild(D.createTextNode(""));lx.id="tet";
avs=D.createElement("div");lx.appendChild(avs);
		// Pour fermer :
avs.id="croix";avs.title="Fermer";avs.appendChild(D.createTextNode("X")); 
avs.onclick=function(){gdim.style.display='none';voirSelect('visible');}
im1=D.createElement("img");gdim.appendChild(im1);
		// image :
db=!D.documentElement.clientWidth?D.body:D.documentElement //quirk IE6 

// fonctions de drag&drop ajoutées à gdim
gdim.onmousedown=function(){dx=px-gdim.offsetLeft;dy=py-gdim.offsetTop;drag=1;return false}
gdim.onmouseup=function(){drag=0}

//évènements onclick ajoutés aux liens image
l=D.getElementsByTagName('a');
for(var i=0;i<l.length;++i){
	if(l[i].href.search(/.jpg$|.jpeg$|.png$|.gif$/i)!=-1)l[i].onclick=grandeImage;
	}

// déplacer l'image à la souris
addEvent(D,"mousemove",function(e){ 
	px=gk?e.pageX:event.clientX+sx; //curseur x 
	py=gk?e.pageY:event.clientY+sy; //curseur y 
	if(drag){with(gdim.style){left=px-dx+"px";top=py-dy+"px"};return false} 
	} 
) 

// déplacer l'image au clavier 
addEvent(D,"keydown",function(e){
	tch=gk?e.which:event.keyCode;//alert(tch)
	// avec les flèches
	if(tch==40||tch==98){gdim.style.top=gdim.offsetTop+50+'px';lock=1;return false}
	if(tch==38||tch==104){gdim.style.top=gdim.offsetTop-50+'px';lock=1;return false}
	if(tch==37||tch==100){gdim.style.left=gdim.offsetLeft-50+'px'}
	if(tch==39||tch==102){gdim.style.left=gdim.offsetLeft+50+'px'}
	// cacher l'image avec la touche "Echap"
	if(tch==27){gdim.style.display='none';voirSelect('visible');}
}) 

D.onkeypress=function(){if(lock){lock=0;return false} else return true}
//--> 
[/i][/i][/i]
Modifié par pp51 (03 May 2007 - 13:59)
Modérateur
Salut, Smiley cligne

pp51 a écrit :
- ma page s'est allongée et depasse maintenant du cadre violet en bas... savez vous pourquoi ?

Ben euh... Je vais pas te mentir, le CSS, je le trouve Smiley biggol . En testant ton exemple précédent, j'avais déjà beaucoup de mal mais là, chercher une erreur là-dedans, j'avoue... Je ne sais pas faire. Smiley confused En fait, j'avais commencé par indenter tout çà histoire de le rendre plus lisible. De là, je me suis aperçu que de nombreuses propriétés ne servaient pas et que d'autres étaient mal utilisées sans compter la foule de conflit entre propriétés que çà génèrait. A mon avis, tu es la seule personne à pouvoir réellement comprendre ce code sans y passer des heures et vu la manière dont c'était agencé, il devenait difficile de positionner de nouveaux éléments. Bon ben du coup, je l'ai refais... Smiley lol Comparé à ta version précédente, on gagne plus de 200 lignes lorsque le code est indenté, c'est déjà plus clair.
Ce que je trouvais gênant, c'est que sur ta version, lorsqu'on faisait un Ctrl+ sur Firefox, çà passait mais au delà, çà se dégradait sérieusement. Donc ben maintenant, çà en supporte 4. J'ai testé le code sur Firefox, IE et Opera.

En fait, le soucis majeur, c'est que tu t'emmêles les pinceaux avec les différents types de positionnement ainsi qu'avec les unités.

Du coup... petit exercice ! Smiley ravi

Tu fais une page toute bête avec plusieurs éléments. De là, tu les places en jouant sur les padding et les margin le tout en px et tu joues avec le Ctrl+ sous Firefox. Ensuite, tu changes les unités pour mettre des em. Tu regardes alors la différence de comportement à l'agrandissement. Après, tu mets un padding en px et une marge en em. Encore une fois, tu regardes les différences de comportement. Après, tu joues de la même manière avec le positionnement relatif... avec plusieurs éléments, c'est mieux. Smiley cligne T'enchaines sur le positionnement absolu ainsi que sur le positionnement flottant.
L'objectif, c'est que tu repères les différences de placement en fonction de la méthode choisie lorsqu'on agrandit les hauteurs de police. Tu vas voir, c'est très formateur et çà t'aidera à choisir le bon type de positionnement au bon moment. Smiley smile

Concernant ta structure, elle aussi n'est pas optimum. Généralement, on conseille de mettre le contenu au plus vite car, avant toute chose, c'est ce que vient chercher le visiteur. C'est pourquoi, dans le code ci-dessous, j'ai placé les menus à la fin. Pour continuer à t'exercer, tu pourras toujours placer des liens d'évitement une fois que tu auras fait l'exercice ci-dessus.

J'ai supprimé le lien double "Modèle suivant pour n'en laisser qu'un. Dans le code source, ils étaient trop rapprochés pour être réellement utiles. Celà dit, si tu le souhaites, çà peut s'ajouter via JS. Pour le moment, j'ai laissé le lien dans une div mais celle-ci pourrait être supprimée. Seul le lien suffit. Le > pourrait être mis en background du lien car il n'a pas vraiment de valeur dans le texte.

Sinon, certaines parties du code ne sont pas très sémantiques. Par exemple, le descriptif pourrait être une liste descriptive plutôt qu'un enchaînement de paragraphe. Cà aussi, je l'ai modifié.

Ton menu du haut... Es-tu sûr que le display: inline; était le plus adapté ? Si t'agrandis les polices, çà pose problème; les écritures sont bouffées. J'ai donc placé les items à l'aide du positionnement flottant histoire qu'on ait plus de souplesse à l'agrandissement. Je laisse le menu passer sur deux lignes lorsque çà devient nécessaire.

Une petite remarque par rapport au letter-spacing... IE ne comprend pas donc commencer à jouer là-dessus veut dire adaptation du code obligatoire pour ce navigateur... Je l'ai quand même conservé histoire de... soyons joueur. Smiley ravi

Bref, il y a encore quelqu'autres changements dans la version que je te présente mais tes principales erreurs sont celles que je viens de nommer donc bosse surtout là-dessus, c'est important. Smiley cligne Cette page pourra te servir d'exemple pour la suite.

pp51 a écrit :
- comment positionner le pop up sur la page (là il est centré par défaut)

Euh... je ne regarde pas, je me cantonne au script des popups dont j'avais parlé dans le précédent post. Il n'est pas vraiment au mieux mais bon, c'est pas que je sature mais Smiley scared si ! un peu quand même... Smiley lol

Dans ce que je te file, tu n'as pas de drag & drop mais est-ce bien utile ? Cà me semble être superflu pour ta mise en page mais si par la suite, tu veux le rajouter, c'est possible. (avec quelqu'un d'autre par contre vu les nombreuses heures que j'ai déjà passé Smiley cligne )

pp51 a écrit :
- quand on déscative JS, une nouvelle page apparait avec l'image agrandie.
Y a t'il un moyen de rajouter un lien "retour" qui permet à l'internaute de revenir sur la page initiale ?

Ben oui... en faisant un lien html tout bête. Smiley lol

Allez, voici le résultat. Smiley cligne

Exemple en ligne

Page XHTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>

<title>Une popup accessible</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<link rel="stylesheet" type="text/css" href="fiche-produit3.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" media="screen,projection" href="fiche-produit3-IE.css" />
<![endif]-->
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
<script type="text/javascript" src="popup5.js"></script>

</head><body>

<div id="page">

	<div id="header">
       	<a href="index.htm" id="Logo">
			<img src="images/Logo.gif" alt="Logo Princesse d'un Jour" width="274" height="58" title="Aller à l'accueil" />
		</a>
		<h1>
			<img src="images/h1.gif" width="305" height="63" alt="Bijoux et accessoires pour le mariage" />
		</h1>

		<div id="langue">
			<h4>Langue :</h4>
			<ul>
				<li><a id="english" title="English version" href="http://www.english.princessedunjour.com">EN</a></li>
				<li><a id="français" title="version française" href="index.htm">FR</a></li>
			</ul>
		</div>
	</div>

	<div id="centre">
		<div id="descriptif">
			<h2>Camélia</h2>
			<h3>"Toute la finesse et la délicatesse de la fleur de Camélia"</h3>
			<dl>
				<dt>- Composition :</dt>
				<dd id="compo">Perles de rocaille à facettes et perles de verre nacrées. Fermoirs et anneaux en argent massif 925</dd>
				<dt>- Coloris :</dt>
				<dd>crème</dd>
				<dt>- Coloris également disponibles :</dt>
				<dd>blanc ou autres coloris sur mesure</dd>
				<dt>- Tarifs :</dt>
				<dd>contactez nos boutiques partenaires</dd>
				<dt>- Parure composée de :</dt>
				<dd>Collier | Bracelet | Pics à cheveux | Boucles d'oreilles</dd>
			</dl>
		</div>

		<img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225" id="produit1" />

		<ul id="elements">
			<li>
				<a href="collier.htm" id="a_collier">
					<img src="images/orchidee-fp-collier.jpg" width="90" height="90" alt="photo du collier" />
					<span>Collier</span>
				</a>
			</li>
			<li>
				<a href="bracelet.htm" id="a_bracelet">
					<img src="images/orchidee-fp-bracelet.jpg" width="90" height="90" alt="photo du bracelet" />
					<span>Bracelet</span>
				</a>
			</li>
		</ul>
	</div>

	<p id="breadcrumb">Vous êtes ici: <a href="index.htm">Accueil</a> > <a id="coll" href="collections-page1.htm">Collection</a> > <a id="page1" href="collections-page1.htm">Page 1</a> > <a id="modele" href="parure-camelia.htm">Parure Camélia</a></p>

	<div id="acces_pagesbas">
		<a href="parure-estella.htm">Modèle suivant</a> >
	</div>

	<ul id="menuhaut">
		<li><a title="Aller à l'accueil" href="index.htm">ACCUEIL</a></li>
		<li><a id="active" title="Nos collections de bijoux pour le mariage" href="collections-page1.htm">COLLECTIONS</a></li>
		<li><a title="Trouver un point de vente" href="points-de-vente.htm">POINTS DE VENTE</a></li>
		<li><a title="Nos secrets de fabrication" href="atelier-de-creation.htm">ATELIER DE CREATION</a></li>
		<li><a title="Tout savoir sur Princesse d'un Jour" href="a-propos.htm">A PROPOS</a></li>
		<li><a title="Contacter la créatrice" href="contact.htm">CONTACT</a></li>
	</ul>

	<ul id="menugauche">
		<li><a id="menua" title="Découvrir toute la collection" href="collections-page1.htm">TOUTE LA COLLECTION</a></li>
		<li><a title="Les modèles en perles de rocaille" href="perles-de-rocaille.htm">PERLES DE ROCAILLE</a></li>
		<li><a title="Les modèles en perles nacrées" href="perles-nacrees.htm">PERLES NACREES</a></li>
		<li><a title="Les modèles en cristal Swarovski" href="cristal-swarovski.htm">CRISTAL SWAROVSKI</a></li>
		<li><a title="Les modèles en fleurs de soie" href="fleurs-de-soie.htm">FLEURS DE SOIE</a></li>
		<li><a title="Les modèles en guipure brodée" href="guipure-brodee.htm">GUIPURE BRODEE</a></li>
	</ul>

	<div id="pied">
		<p id="mentions">Copyright © 2006 Princesse d'un Jour. Tous droits réservés. Princesse d'un Jour® est une marque déposée.</p>
		<p id="partenaires">Sites partenaires : <a href="http://www.noces-provencales.com">Organisation de mariage en provence</a> avec Noces-Provencales.com | <a href="http://www.notremariage.net/decouvrir.htm">NotreMariage.net</a></p>
	</div>

</div>

</body></html>


fiche-produit3.css

/*********************************
Général
*********************************/
*
{
	padding:0;
	border:0;
	margin:0;
}
body
{
	background:url(images/background2.gif) repeat-y center top;
	font-family:Geneva, Arial, Tahoma, sans-serif;
	font-size: 85%;
}
#page
{
	position:relative;
	text-align:left;
	width:743px;
	background-color:#FFF;
	border:1px solid #6C3089;
	margin:10px auto;
}
/*********************************
Header
*********************************/
#header
{
	height:67px;
}
h1
{
	display:inline;
	margin-left:15px;
}
#langue
{
	position:absolute;
	top:5px;
	right:5px;
	background-color:white;
}
#langue *
{
	float:left;
	color:#666;
}
#langue h4
{
	margin-right: 3px;
	font-size:0.7em;
}
#langue ul
{
	list-style-type:none;
}
#langue li
{
	margin-right: 3px;
}
#langue a
{
	text-decoration:none;
	font-size:0.7em;
}
#langue a:hover
{
	color:#6C3089;
	text-decoration:underline;
}
#langue #english
{
	padding-right:3px;
	border-right:1px solid #666;
}
#langue a:focus,
#langue a:active
{
	text-decoration:underline;
	color:#999;
}
/*********************************
Accès pages
*********************************/
/*
#acces_pages
{
	position:absolute;
	top:1.3em;
	right:35px;
	line-height:20px;
	font-size:0.8em;
}
*/
/*********************************
Centre
*********************************/
#centre
{
	position:absolute;
	top:7em;
	left:150px;
	width:588px;
	color:#666;
}
#centre h2
{
	color:#6C3089;
	font-weight:bold;
	font-size:1em;
}
#centre h3
{
	padding-top:10px;
	font-weight:bold;
	font-size: 0.9em;
}
/*********************************
Descriptif
*********************************/
#descriptif
{
	width:370px;
	margin:78px 15px 0 0;
	float:right;
}
#descriptif dl
{
	font-size:0.8em;
}
#descriptif dt
{
	float:left;
	margin:5px 3px 0 0;
}
#descriptif dd
{
	margin-top:5px;
}
#descriptif #compo
{
	padding-top:5px;
}
/*********************************
Produit principal
*********************************/
#produit1
{
	float:left;
	margin-top:4.8em;
	font-size:0.8em;
	display:block;
}
/*********************************
Elements
*********************************/
#elements
{
	position:absolute;
	top:29.5em;
	left:-10px;
	list-style-type:none;
	font-size:0.8em;
}
#elements li
{
	float:left;
	text-align:center;
	margin-right:20px;
}
#elements span
{
	display:block;
}
#elements a
{
	display:block;
	text-decoration:none;
	color:#666;
}
/*********************************
Popups
*********************************/
#pop0,
#pop1
{
	display:none;
	position:absolute;
	top:3.8em;
	left:203px;
	height:255px;
	width:180px;
	border:1px solid #6C3089;
	background-color: white;
	color:#666;
}
#pop0 h3,
#pop1 h3
{
	padding-top:0;
	text-align:center;
}
#pop0 p,
#pop1 p
{
	background-color:#FFF;
	text-align:center;
	font-size:0.8em;
}
#pop0 img,
#pop1 img
{
	display: block;
}
/*********************************
Fil d'Ariane
*********************************/
#breadcrumb
{
	position:absolute;
	top:50px;
	left:120px;
	padding:5.7em 0 0 2.5em;
	font-size:0.8em;
	color:#666;
}
#breadcrumb a
{
	color:#666;
	text-decoration:none;
}
#breadcrumb a:hover
{
	text-decoration:underline;
	color:#6C3089;
}
#breadcrumb a:active,
#breadcrumb a:focus
{
	text-decoration:underline;
	color:#999;
}
/*********************************
Accès page bas
*********************************/
#acces_pagesbas
{
	position:absolute;
	top:100px;
	padding-top:36.5em;
	right:30px;
	font-size:0.8em;
}
/*********************************
Menu haut
*********************************/
#menuhaut
{
	position:absolute;
	top:67px;
	left:0;
	width:737px;
	height:1.5em;
	padding-left:6px;
	margin-top:.3em;
	line-height:1.5em;
	background-color:#8E6784;
	border-top:1px solid #6C3089;
	border-bottom:1px solid #6C3089;
}
#menuhaut li
{
	float:left;
	list-style-type:none;
	background-color:#8E6784;
}
#menuhaut a
{
	display:block;
	padding:0 8px;
	color:#FFF;
	font-size:0.6em;
	letter-spacing:3px;
	text-decoration:none;
	text-align:center;
}
#menuhaut a#active
{
	background-color:white;
	color:#6C3089;
}
/*********************************
Menu gauche
*********************************/
#menugauche
{
	letter-spacing: 0.5px;
	clear:both;
	float:left;
	width:150px;
	list-style-type:none;
	line-height:34px;
	padding:3.5em 0 0 5px;
	margin-top:20px;
	color:#6C3089;
	background-color:#FFF;
}
#menugauche a
{
	text-decoration:none;
	font-size:.7em;
	color:#666;
}
#menua
{
	color:#6C3089;
	font-weight:900;
}
/*********************************
Pied
*********************************/
#pied
{
	height:30px;
	text-align:center;
	padding-bottom:5px;
	margin-top: 48.2em;
	color:#666;
	font-size:0.7em;
}
#pied p
{
	background-color:#FFF;
}
#pied a
{
	text-decoration:none;
	color:#666;
}


fiche-produit3-IE.css

/*********************************
Descriptif
*********************************/
#descriptif
{
	margin:88px 8px 0 0;
}
#descriptif #compo
{
	padding-top:0;
}
/*********************************
Produit principal
*********************************/
#produit1
{
	margin-top:4.3em;
}
/*********************************
Popups
*********************************/
#pop0,
#pop1
{
	top:4.2em;
	left:200px;
}
/*********************************
Menu haut
*********************************/
#menuhaut a
{
	padding:0 17px;
}
/*********************************
Menu gauche
*********************************/
#menugauche
{
	margin-top:24px;
}
/*********************************
Pied
*********************************/
#pied
{
	margin-top: 49.2em;
}


popup5.js

function __enhance__()
{
	if( !document.getElementById ||
		!document.getElementsByTagName ||
		!document.createElement ||
		!document.createTextNode ) return false;

	var elem = new pop.__method__;

	return elem.__init__();
}
window.onload = __enhance__;

var pop =
{
	__method__: function() {}
};

pop.__method__.prototype.__init__ = function()
{
	var d = document,
		oCont = d.getElementsByTagName('body')[0],
		oRep = d.getElementById('centre'),

		oA0 = d.getElementById('a_collier'),
		oGdiv0 = d.createElement('div'),
		oH30 = d.createElement('h3'),
		oTxtH30 = d.createTextNode('Collier Orchidée'),
		oGimg0 = d.createElement('img'),
		oP0 = d.createElement('p'),
		oTxtP0 = d.createTextNode('Fermer la boite en cliquant dessus'),

		oA1 = d.getElementById('a_bracelet'),
		oGdiv1 = d.createElement('div'),
		oH31 = d.createElement('h3'),
		oTxtH31 = d.createTextNode('Bracelet Orchidée'),
		oGimg1 = d.createElement('img'),
		oP1 = d.createElement('p'),
		oTxtP1 = d.createTextNode('Fermer la boite en cliquant dessus');

	oGdiv0.setAttribute('id','pop0');
	oGimg0.setAttribute('src','images/orchidee-fp-collier.jpg');
	oGimg0.setAttribute('width','180');
	oGimg0.setAttribute('height','225');
	oGimg0.setAttribute('alt','Collier Orchidée');

	oGdiv1.setAttribute('id','pop1');
	oGimg1.setAttribute('src','images/orchidee-fp-bracelet.jpg');
	oGimg1.setAttribute('width','180');
	oGimg1.setAttribute('height','225');
	oGimg1.setAttribute('alt','Bracelet Orchidée');

	oGdiv0.style.display = 'none';
	oGdiv1.style.display = 'none';

	oA0.onclick = pop.__method__.prototype.__Pop0__;
	oGdiv0.onclick = pop.__method__.prototype.__Pop0__;

	oA1.onclick = pop.__method__.prototype.__Pop1__;
	oGdiv1.onclick = pop.__method__.prototype.__Pop1__;

	oH30.appendChild(oTxtH30);
	oP0.appendChild(oTxtP0);
	oGdiv0.appendChild(oH30);
	oGdiv0.appendChild(oGimg0);
	oGdiv0.appendChild(oP0);

	oH31.appendChild(oTxtH31);
	oP1.appendChild(oTxtP1);
	oGdiv1.appendChild(oH31);
	oGdiv1.appendChild(oGimg1);
	oGdiv1.appendChild(oP1);

	oRep.appendChild(oGdiv0);
	oRep.appendChild(oGdiv1);
};
pop.__method__.prototype.__Pop0__ = function()
{
	var oPop0 = document.getElementById('pop0');

	if( oPop0.style.display == 'none' )
		oPop0.style.display = 'block';
	else
		oPop0.style.display = 'none';

	return false;
};
pop.__method__.prototype.__Pop1__ = function()
{
	var oPop1 = document.getElementById('pop1');

	if( oPop1.style.display == 'none' )
		oPop1.style.display = 'block';
	else
		oPop1.style.display = 'none';

	return false;
};


Voilà... Compte pas sur moi pour te faire çà tous les jours... Smiley lol
Et surtout, n'oublie pas de prendre un peu de temps pour comparer avec tes précédentes versions.

++

PS: Préviens quand tu auras récupéré les codes... Je supprimerais l'exemple qui se trouve sur mon site. Smiley cligne
Modifié par koala64 (04 Aug 2006 - 07:56)
Modérateur
Tiens, encore une chose.

En bossant sur ta page, j'ai vu que tu multipliais les id dans ton code XHTML et qu'ensuite tu déclarais les propriétés CSS pour chaque ce qui fait que tu avais de nombreuses répétitions. En fait, avant même de mettre un id, il vaut mieux commencer par mettre des styles généralistes directement sur tes balises. Ensuite seulement, tu spécialises en ajoutant des id et des class. Cà permet d'avoir un code plus concis au final. Smiley cligne
J'avais aussi un probleme avec ce tuto.

En suivant les conseils, j'ai reussi a le faire marcher.

Merci Koala64 Smiley lol
Bonjour,

En fait j'ai le meme probleme mais avec IE. Sur firefox tout marche comme je veux.

Sur IE, lorsque je clique sur un lien, la popup s'affiche en bas de page en l'allongeant. Smiley ohwell
Modérateur
Salut,

Si tu regardes l'exemple que j'ai laissé, ce n'est pas le cas donc tu dois avoir commis une erreur. Smiley cligne

Le mieux serait que tu crées ton propre sujet si vraiment tu ne trouves pas car, me tenant au courant, je sais que pp51 est encore susceptible de relancer celui-ci.
Modifié par koala64 (13 Aug 2006 - 09:01)
Bonjour à tous,

J'ai finalement réussi à m'en sortir avec mes pops up, tout est nickel.

J'ai cependant un léger problème d'encodage sur la pop up, je vous explique:

sur mon JS, j'ai le code suivant:


oGdiv2.setAttribute('id','pop2');
	oGimg2.setAttribute('src','images/zoom-bo-gouttes.jpg');
	oGimg2.setAttribute('width','200');
	oGimg2.setAttribute('height','200');
	oGimg2.setAttribute('alt','Accessoire coiffure Princesse d’un Jour : boucles d’oreilles Gouttes');


Et voici ce que ça donne en ligne
upload/3889-pop.gif

Vous voyez dans le pop up, le titre s'inscrit "boucles d?oreilles" au lieu de "boucles d'oreilles".

J'ai bien essayé de changer le " ’ " par " ' " dans le JS, mais cela n'est pas autorisé...

Pour info, j'ai cela dans mon xhtml

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />


Est-ce que quelqu'un a déjà eu ce problème ?

Merci et bonne soirée Smiley cligne
Bonjour,

Si un expert JS et encodage passe par là...

Parce que c'est le tout dernier problème de la pop up Smiley ravi

Merci
Modérateur
Salut, Smiley smile

As-tu essayé ceci ?
oGimg2.setAttribute('alt','Accessoire coiffure Princesse d\'un Jour : boucles d\'oreilles Gouttes');


ou encore celà ?
oGimg2.setAttribute('alt',"Accessoire coiffure Princesse d'un Jour : boucles d'oreilles Gouttes");


Il semble que les apostrophes que tu as mis dans tes textes (qui ne sont d'ailleurs pas les mêmes que celles du code) posent problème.
Modifié par koala64 (26 Aug 2006 - 05:33)
Bonjour Koala et toute la communauté Smiley cligne

a écrit :

oGimg2.setAttribute('alt','Accessoire coiffure Princesse d\'un Jour : boucles d\'oreilles Gouttes');


J'ai essayé ça, mais le rendu ne change pas Smiley confus

a écrit :

Il semble que les apostrophes que tu as mis dans tes textes (qui ne sont d'ailleurs pas les mêmes que celles du code) posent problème.


Effectivement, j'ai été obligé de remplacer les ' par des ’ dans le fichier JS. Si on met des ' , cela provoque des erreurs sur le JS

Je vais retester ça ce soir, mais j'en suis presque certain Smiley lol ... je reviens donc ce soir.

Bonne journée
oups, je n'avais pas vu qu'on était à la 3è page. Du coups, c'est hors sujet.
Modifié par chmel (29 Aug 2006 - 14:14)
Pages :