Aide - Recherche - Membres - Calendrier
Version complète : diaporama en popup
Forum Développeur - Administration serveur, programmation et base de données > Programmation > Javascript et AJAX
binocle
Bonjour, j'ai essayé grace aux différent tutaux ainsi qu'a certains posts du forum de faire un diaporama en popup. Il fonctionne de cette facon : lorsqu'on clique sur la miniature, la photo s'ouvre en popup, et dans cette popup il y a des boutons "next" "prev" et "close" pour naviguer sur les images. Le code que j'utilise est le suivant : dans le head : [quote]<SCRIPT LANGUAGE="JavaScript"> <!-- function PopupImage(img) { titre="Agrandissement de l'album"; w=open("",'image','width=400,height=400,toolbar=no,scrollbars=no,resizable=no'); w.document.write("<LINK href='styles/style1.css' type=text/css rel=stylesheet>"); w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE>"); w.document.write("<link href='stylepopup.css' rel='stylesheet' type='text/css'>"); w.document.write("<script>function checksize() { if (document.images[0].complete) { window.resizeTo(document.images[0].width+70,document.images[0].height+70); window.focus();} else { setTimeout('checksize()',250) } }"); w.document.write("function cherche(n){if (document.getElementById){obj=document.getElementById(n);}"); w.document.write("else if(document.all) {obj=document.all[n];}return obj;}"); w.document.write("imgdiapo2=new Array('imgs/1.jpg','imgs/2.jpg','imgs/3.jpg','imgs/4.jpg','imgs/5.jpg','imgs/6.jpg','imgs/7.jpg','imgs/8.jpg','imgs/9.jpg','imgs/10.jpg','imgs/11.jpg','imgs/12.jpg','imgs/13.jpg','imgs/14.jpg','imgs/15.jpg','imgs/16.jpg');"); w.document.write("nomimg2='diapo2';"); w.document.write("function initialise(){for(i=0;i<imgdiapo2.length;i++){if(document.getElementById(nomimg2).src.indexOf(imgdiap
o2[i])!='-1'){compt=i;}}}"); w.document.write("function diapobouton(sens){image=cherche(nomimg2);if(sens==1 && compt<(imgdiapo2.length-1)){compt+=sens;image.src=imgdiapo2[compt];taille_page(imgdiapo2[compt])}"); w.document.write("else if(sens==-1 && compt!=0){compt+=sens;image.src=imgdiapo2[compt];taille_page(imgdiapo2[compt])}}
"); w.document.write("function taille_page(source){newImg=new Image();"); w.document.write("newImg.src=source;window.resizeTo(newImg.width+50,newImg.height+80)}"); w.document.write("</"+"script></HEAD>"); w.document.write(""); w.document.write("
"); w.document.write(""); w.document.write(""); w.document.write(" Mon image"); w.document.write("
"); w.document.write("</HTML>"); w.document.close(); } //--> </SCRIPT> [/quote] et dans la page : [quote] etc...[/quote] J'ai deux problèmes plus ou moins proches : 1 : la popup ne s'ouvre jamais à la taille de l'image, mais forme un petit carré minuscule. 2 : lorsqu'on utilise les boutons, les première fois, l'image reste dans la m^me toute petite fenetre, par contre au bout d'un certains temps (apres avoir utilisé les boutons "prev" et "next"), la popup prend la taille de l'image On peut donc dire que le code marche grosso-modo à moitié :wink: Pour voir de vous m^me, le lien : http://www.surf-bzh.com/popup/popup1.php N'y connaissant pas grand chose en JS, je gallère :wink:
binocle
En espèrant que le code passe mieux

Le code que j'utilise est le suivant :

dans le head :

CODE
<SCRIPT LANGUAGE="JavaScript">

<!--

function PopupImage(img) {

titre="Agrandissement de l'album";

w=open("",'image','width=400,height=400,toolbar=no,scrollbars=no,resizable=no');

w.document.write("<LINK href='styles/style1.css' type=text/css rel=stylesheet>");

w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE>");

w.document.write("<link href='stylepopup.css' rel='stylesheet' type='text/css'>");

w.document.write("<script>function checksize() { if (document.images[0].complete) { window.resizeTo(document.images[0].width+70,document.images[0].height+70); window.focus();} else { setTimeout('checksize()',250) } }");

w.document.write("function cherche(n){if (document.getElementById){obj=document.getElementById(n);}");

w.document.write("else if(document.all) {obj=document.all[n];}return obj;}");

w.document.write("imgdiapo2=new Array('imgs/1.jpg','imgs/2.jpg','imgs/3.jpg','imgs/4.jpg','imgs/5.jpg','imgs/6.jpg','imgs/7.jpg','imgs/8.jpg','imgs/9.jpg','imgs/10.jpg','imgs/11.jpg','imgs/12.jpg','imgs/13.jpg','imgs/14.jpg','imgs/15.jpg','imgs/16.jpg');");

w.document.write("nomimg2='diapo2';");

w.document.write("function initialise(){for(i=0;i<imgdiapo2.length;i++){if(document.getElementById(nomimg2).src.indexOf(imgdiapo2[i])!='-1'){compt=i;}}}");

w.document.write("function diapobouton(sens){image=cherche(nomimg2);if(sens==1 && compt<(imgdiapo2.length-1)){compt+=sens;image.src=imgdiapo2[compt];taille_page(imgdiapo2[compt])}");

w.document.write("else if(sens==-1 && compt!=0){compt+=sens;image.src=imgdiapo2[compt];taille_page(imgdiapo2[compt])}}");

w.document.write("function taille_page(source){newImg=new Image();");

w.document.write("newImg.src=source;window.resizeTo(newImg.width+50,newImg.height+80)}");

w.document.write("</"+"script></HEAD><BODY onload='checksize();initialise()' leftMargin=0 topMargin=0 marginwidth=0 marginheight=0>");

w.document.write("<TABLE width='100%' border='0' cellspacing='0' cellpadding='0' height='100%'><TR>");

w.document.write("<TD width='100%' height='28' valign='top'><a href='javascript:diapobouton(1);'><img src='imgs/popup/next.jpg' class='bouton' border='0' width='37' height='28'></a>");

w.document.write("<a href='javascript:diapobouton(-1);'><img src='imgs/popup/prev.jpg' class='bouton' border='0' width='37' height='28'></a>");

w.document.write("<a href='#' onClick='top.close();'><img src='imgs/popup/close.jpg' class='bouton' border='0' width='50' height='28' /></a>");

w.document.write("<br/><IMG src='"+img+"' border=0 alt='Mon image' id='diapo2'/>");

w.document.write("</TD></TR></TABLE>");

w.document.write("</BODY></HTML>");

w.document.close();

}

//-->

</SCRIPT>


et dans la page :

CODE
<a href="javascript:;" onClick="PopupImage('imgs/1.jpg')"><img src="imgs/thumbs/1.jpg" width="70" height="100" border="0"></a>



   <a href="javascript:;" onClick="PopupImage('imgs/2.jpg')"><img src="imgs/thumbs/2.jpg" width="70" height="100" border="0"></a>



etc...


J'ai deux problèmes plus ou moins proches :

1 : la popup ne s'ouvre jamais à la taille de l'image, mais forme un petit carré minuscule.

2 : lorsqu'on utilise les boutons, les première fois, l'image reste dans la m^me toute petite fenetre, par contre au bout d'un certains temps (apres avoir utilisé les boutons "prev" et "next"), la popup prend la taille de l'image

On peut donc dire que le code marche grosso-modo à moitié :wink:

Pour voir de vous m^me, le lien :

http://www.surf-bzh.com/popup/popup1.php

N'y connaissant pas grand chose en JS, je gallère :wink:
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.