Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2011, 23h54   #1
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Par défaut Popup selon l'image ouverte

Bonjour.

Voici un Popup :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
		<SCRIPT LANGUAGE="JavaScript">
			<!-- 
			function popUp(URL) {
			day = new Date();
			id = day.getTime();
			eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=640,height=480,left = 112,top = 84');");
			}
			-->
		</script>
 
 
<a href="javascript:popUp('fichier.jpg')">popup</a>
Je voudrais modifier ce code pour que le popup puisse s'ajuster à la grandeur de l'image qu'il ouvre. Je ne sais pas comment faire.

J'ai essayé 100%, ça va pas.

De l'aide sur mon code serait appréciée. Merci.
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 02h42   #2
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Enlève la partie "eval("page" + id + " =" je vois pas à quoi ça sert et garde simplement :

Code :
window.open(URL,'nom_fenetre','toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,width=640,height=480,left=112,top=84');

Par ailleurs "'fichier.jpg" n'est pas un nom d'url valide !
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 02h51   #3
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Merci pour la précision :

Citation:
Envoyé par ABCIWEB Voir le message
Enlève la partie "eval("page" + id + " =" je vois pas à quoi ça sert et garde simplement :

Code :
window.open(URL,'nom_fenetre','toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,width=640,height=480,left=112,top=84');
C'est fait!

Mais, comment je pourrais faire pour que ma fenêtre s'ajuste en fonction de l'image?
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 03h06   #4
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Soit tu récupère les dimensions par exemple en php et tu les passe dans ta fonction quand tu fais window.open,
Soit tu ne peux pas les connaître et tu fais ouvrir ton image dans un popup avec de petites dimensions et tu utilises window.resizeTo().
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 06h18   #5
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Salut j'ai fait le test suivant et ça ne fonctionne pas.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
		$resultat = "SELECT * FROM ori_images";
		$result = mysqli_query($connexion,$resultat);
 
 
		while ($ligne = mysqli_fetch_assoc($result)){
 
			$size = getimagesize('admin/images/'.$ligne['images']);
 
		echo "
		<SCRIPT LANGUAGE=\"JavaScript\">
			<!-- 
			function popUp(URL) {
			window.open(URL, 'nom_fenetre','toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,$size[0],$size[1],left=112,top=84');
  		}
			-->
		</script>
		";
 
			echo '<a href="javascript:popUp(\'admin/images/'.$ligne['images'].'\')"><img src="admin/images/thumb_'.$ligne['images'].'" width="90" height="90" border="0"></a>';
 
		}
Pourtant getimagesize donne un résultat mais dans mon contexte, à cause du javascript, ça marche pas.

Je m'en remets à vos aide!
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 20h59   #6
Membre du Club
 
Avatar de Billy KiT
 
Inscription : mars 2011
Messages : 47
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 47
Points : 59
Points : 59
Salut, peut-être en remplaçant :

par
Code :
width=$size[0],height=$size[1],
Billy KiT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 21h51   #7
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Je pense qu'il faut que je refasse la fonction javascript pour que
le url soit dans le lien ainsi que les dimensions.

actuellement, les dimension sont dans la fonction plutot que dans
le url.

Si quelqu'un peut m'aider à reconstruire la fonction j'apprécierais.

function xxxx


<a href="javascript...">
ici le fichier et les dimensions

En javascript je suis null
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 21h51   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803


Comment veux-tu que ça marche, tu crées des fonctions JavaScript dans une boucle while en PHP... elles ont donc toutes le même nom et donc chacune va écraser la précédente.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 22h51   #9
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Bien, j'ai viens de résoudre le problème :

Code :
1
2
3
4
5
6
7
8
9
10
11
		while ($ligne = mysqli_fetch_assoc($result)){
 
		$size = getimagesize('admin/images/'.$ligne['images']);
 
				echo '<tr>';
				echo '<td width="10%" valign="top" bgcolor="#F7FAF3"><A HREF="#" onClick="window.open(\'admin/images/'.$ligne['images'].'\',\'fen1\',\'toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width='.$size[0].', height='.$size[1].', left=11, top=11\');return(false)"><img src="admin/images/thumb_'.$ligne['images'].'" width="90" height="90" border="0"></a></td>';
				echo '<td width="*" valign="top" bgcolor="#F7FAF3"><div style="background-color:#5F7939;text-align:center;color:#ffffff;font-size:1em;font-family:Verdana;font-weight:900;padding:2px;">#'.$ligne['id'].' - '.Coupure($ligne['titre'],65).'</div><br><div style="margin-left:6px;margin-right:6px;">'.Coupure($ligne['desc'],333).'</div></td>';
				echo '</tr>';
 
		}
		echo '</table>';
La solution est de trouver la manière de tout mettre à l'intérieur de <a href=""> en javascript et mettre juste en avant getimagesize.

ça fonctionne super bien. C'est comme je voulais.

Citation:
Envoyé par Bovino Voir le message


Comment veux-tu que ça marche, tu crées des fonctions JavaScript dans une boucle while en PHP... elles ont donc toutes le même nom et donc chacune va écraser la précédente.
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 23h36   #10
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
C'est bien mais la fonction getimagesize est assez gourmande en ressources... Pour cette raison on enregistre souvent les dimensions des images en bdd, ce qui permet d'éviter d'avoir à les recalculer (à chaque chargement de la page dans ton cas).
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h09.


 
 
 
 
Partenaires

Hébergement Web