Ajuster la taille d'une popup à l'écran

nuclearprout Messages postés 43 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 19 mai 2009 - 1 avril 2007 à 19:49
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 - 3 avril 2007 à 20:42
Bonjour à tous, je souhaiterais définnir la taille de ma popup en
fonction de la résolution de l'écran. J'ai un début de bout de code
mais il ne fonctionne pas. Qqn aurait-il une idée... Merci beaucoup !


<script>


function ouvrir() {

l=Math.round((screen.availWidth)/5);

h=Math.round((screen.availHeight)/4);

posx=Math.round((screen.availWidth-l)/2);

posy=Math.round((screen.availHeight-h)/4);

window.open(url,"site","toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0,top="+posy+",left="+posx+",width="+l+",height="+h);

}

 

</script>

10 réponses

stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
1 avril 2007 à 20:18
Bonjour, essaie ceci :

<script>
function ouvrir()
{
dimensions=document.getElementById("dimensions");
width=Math.round(dimensions.offsetWidth/5);
height=Math.round(dimensions.offsetHeight/4);
left=Math.round(dimensions.offsetWidth-width/2);
top=Math.round(dimensions.offsetHeight-height/4);
window.open(url,"site","toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0,top="+left+",left="+top+",width="+width+",height="+height);
}
</script>

<hr /><hr />
Stfou
0
nuclearprout Messages postés 43 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 19 mai 2009
2 avril 2007 à 16:39
Re...
Merci de ta réponse rapide et mes excuses pour mon retour tardif. Tu l'as testé le script ? Parce ce qu'à priori je n'ai pas réussi à le faire fonctionner. Peu importe, je pense que je vais utiliser une autre méthode. Pour entrer plus dans les détails j'ai 9 popups de 200 pixels² chacune (un carré de 3 popups par 3). Elles sont toutes ouvertes en même temps via le script suivant ;

<script>
<!--
function popupmulti(){
window.open('1.html','w1','width=200,height=200,left=50,top=50,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('2.html','w2','width=200,height=200,left=260,top=50,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('3.html','w3','width=200,height=200,left=470,top=50,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('4.html','w4','width=200,height=200,left=50,top=280,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('5.html','w5','width=200,height=200,left=260,top=280,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('6.html','w6','width=200,height=200,left=470,top=280,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('7.html','w7','width=200,height=200,left=50,top=510,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('8.html','w8','width=200,height=200,left=260,top=510,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
window.open('9.html','w9','width=200,height=200,left=470,top=510,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
}
// -->
</script>

Si tu testes ce script tu verras que toutes mes popups sont collés et qu'elles se déclinent en fonction de leurs tailles par rapport au coordonnée x et y de la première.
Tout ce que je souhaite faire (finalement), c'est centrer la popup 5 et décliné les autres avec la même méthode + des soustractions additions... Voilà, je pense savoir déclarer les variables
*************************************************************************
On supposera
posx=Math.round((screen.availWidth-200)/2);
posy=Math.round((screen.availHeight-200)/2); étant donné que toutes les popups ont la même taille
*************************************************************************
mais c'est la syntaxe d'appel qui semble poser pbm. Si tu pouvais m'aider pour la ligne window.open('5.html','w5','width=200,height=200,left=260,top=280,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0');
Je saurais faire le reste (quand même !).

Merci bien !
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
2 avril 2007 à 18:59
B
onjour...
Il y a moyen d'améliorer la routine avec une boucle m as je te laisses faire
<script type="text/javascript">
function popupmulti(){
  var W_Screen = screen.availWidth;
  var H_Screen = screen.availHeight;
  var Larg = 200;
  var Haut = 200;
  var IncX = Larg +10;
  var IncY = Haut +30;
  var PosX = (W_Screen -(3*Larg))/2;
  var PosY = (H_Screen -(3*Haut))/2;
  var Style = " ,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0";
  //-- 1st Ligne



  window.open('','w1','width=' +Larg +', height='+ Haut +', left='+ PosX +', top=' +PosY + Style);
  window.open('','w2','width=' +Larg +', height='+ Haut +', left='+ (PosX +IncX) +',top=' +PosY + Style);
  window.open('','w3','width=' +Larg +', height='+ Haut +', left='+ (PosX +2*IncX) +',top=' +PosY + Style);
  //-- 2nd Ligne
  PosY += IncY;
  window.open('','w4','width=' +Larg +', height='+ Haut +', left='+ PosX +',top=' +PosY + Style);
  window.open('','w5','width=' +Larg +', height='+ Haut +', left='+ (PosX +IncX) +',top=' +PosY + Style);
  window.open('','w6','width=' +Larg +', height='+ Haut +', left='+ (PosX +2*IncX) +',top=' +PosY + Style);
  //-- 3th Ligne
  PosY += IncY;
  window.open('','w7','width=' +Larg +', height='+ Haut +', left='+ PosX +',top=' +PosY + Style);
  window.open('','w8','width=' +Larg +', height='+ Haut +', left='+ (PosX +IncX) +',top=' +PosY + Style);
  window.open('','w9','width=' +Larg +', height='+ Haut +', left='+ (PosX +2*IncX) +',top=' +PosY + Style);
}
</script>



Je te laisses faire l'optimisation...

;0)
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
2 avril 2007 à 19:00
Sinon, pourquoi ne juste pas placer les autres en fonction de la première ?
Puisque la première n'a pas besoin d'être calculée (0,0)...
Sinon essaie window.screen.width (ou height) au lieu de availWidth.

<hr /><hr />
Stfou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
2 avril 2007 à 19:19
A 78secondes près ...
Encore mieux pour la routine :

var W_Screen = screen.width;
var H_Screen = screen.height;
var Larg = 200;
var Haut = 200;
var lines=3;
var cols=3;
var k=0;
var PosX=0;
var PosY=0;
for(i=0;i<lines;i++)
{
   for(j=0;j<cols;j++)
   {
      window.open(k+".html",k,"width="+Larg+", height="+Haut+", left="+(PosX+i*Haut)+", top="+(PosY+j*Larg)+", toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, menubar=0");
      k++;
   }
}

<hr /><hr />
Stfou
0
nuclearprout Messages postés 43 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 19 mai 2009
3 avril 2007 à 10:51
Ha pinaise, merci les chefs ! stfou, ton code est nickel, néanmoins je me demande quelque chose ; comment je fais pour stipuler l'URL de mes neufs popups. Je vois bien un
window.open(k+".html",k....
mais faut avouer que je suis un peu à la traine question programmation. Je suis du genre à tout écrire comme pour le code de PetoleTeam.
Thanks Dude !
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
3 avril 2007 à 18:34
Bonjour, c'est simple, dans la liste de tes pages, il y a bien quelquechose comme : page1.html, page2.html, page3.html etc...
eh bien le numéro (1,2,3) tu le remplace par "+k+" exemple :
window.open("page"+k+".html", ...

<hr /><hr />
Stfou
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
3 avril 2007 à 19:29
PS : Derien

<hr /><hr />
Stfou
0
nuclearprout Messages postés 43 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 19 mai 2009
3 avril 2007 à 20:22
Hm balèze cette technique, je connaissais pas. Bon bah merci bien en tout cas et longue vie à toi !
0
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
3 avril 2007 à 20:42
Merci. A toi aussi, une vie longue et prospère  

<hr /><hr />
Stfou
0
Rejoignez-nous