Newsgroup: it.comp.lang.javascript
Titolo: popup AL CENTRO

ciao :-)
devo aprire un popup esattamente al centro della pagina ma non so come fare
:(..apro la suddetta finestrella ma per le coordinate vado 'a occhio'..non
c'è un modo più preciso per derivare il centro dello schermo?
grazie per l'attenzione
P@pox

x = (screen.width / 2) - (larghezza finestra / 2)
y = (screen.height / 2) - (altezza finestra / 2)
l'altezza e la larghezza della finestra le determini tu
Ciao
Giuseppe Di Natale
gdin...@jsdir.com
---------------------------------------
JSDir, Your personal JavaScript trainer
http://www.jsdir.com
---------------------------------------

 l'altezza e la larghezza della finestra le determini tu
praticamente metto queste due righine nella pagina 'fissa' quando definisco
il mio popup e nella pagina popup.html definisco solo h e w, esatto?
grazie mille :-)
P@pox


 l'altezza e la larghezza della finestra le determini tu
ciao, ho provato a inserire lo script ma non funzia come vorrei.. mi spiego:
prima ho espresso male la mia richiesta forse..io vorrei che il popup sia
perfettamente centrato nello schermo..con lo script di cui sopra mi mette al
centro il vertice sx della finestrella..
spero di essermi fatto capire..
nella pratica credo basti variare il valore da 2 a 4 per ottenere il
risultato..ci ho provato ma mi mette al centro orizzontale esatto la
finestra mentre in verticale me la butta fuori schermo in basso.. :(
come fare?
saluti e grazie
P@pox


Ok passiamo all'esempio pratico, eccoti una funzione per centrare una popup:
function ApriPopUp(URL, Larghezza, Altezza)
{
   cw = screen.width;
   ch = screen.height;
   x = (cw/2) - (Larghezza/2);
   y = (ch/2) - (Altezza/2);
   alert(x + " " + y);
   window.open(URL, 'Finestra',
'top='+y+',left='+x+',width='+Larghezza+',height='+Altezza+'');
}
Fammi sapere


 }
boia d'un cane, mi si comporta stranissimo :(
ho messo quello che hai scritto e:
1. mi viene fuori un alert (come da script) che mi da le coordinate del
punto dello schermo ove verrà posizionato il vertice sx, io confermo l'ok
e..
2. mi apre il popup..ma devo confermare il 'problemino' dell'allineamento
veriticale..
MA come faccio a dar le varie 'direttive' circa toolbar=0, location=1,
directories=1,status=1, etc etc..? sia che li metto prima o dopo il "
'top='+y+'... " mi da sempre errore :(
a parte l'alert (che ho tolto altrimenti quando esce gli si rizzano i
capelli ai visitatori ;-)) lo script mi pare vada bene se non fosse per quel
caspita d'allinemento verticale..
ascolta, ci sarebbe mica anche un modo di ridimensionare un popup GIA'
aperto in base a quelle pagine che si apriranno al suo interno?
tipo:
<A href="1.html" target="popup" onClick="popup('1.html', 616,421); return
false;" onFocus="this.blur()"><font>clicca qui per aprire la
prima!</font></a>
<A href="2.html" target="popup" onClick="popup('2.html', 425,378); return
false;" onFocus="this.blur()"><font>clicca qui per aprire la
seconda!</font></a>
e così via..
come vedi tutte hanno target popup e se il visitatore apre una delle due
pagine, la finestrella avrà dimensioni date da me..ma se lui la lascia
aperta dopo aver aperto la prima, aprendo la seconda, questa resta delle
dimensioni iniziali a meno che non sia di dimensioni maggiori della
precedente..
spero di non scocciare troppo... :-)
grazie 1'000'000'000'000 Giuseppe
ciao
P@pox


Rispondiamo ad una domanda per volta:
1) l'alert l'ho usato io per verificare le coordinate della finestra e mi
sono dimenticato di cancellarlo quando ti ho postato lo script
2) A me si allinea correttamente, ho lo schermo settato in 1024X768, apro
una finestra di 150px in altezza, quindi secondo la formula dovrei ottenere
(ed è quello che mi restituisce l'alert) 309. L'hai misurata la distanza tra
il bordo superiore e quello inferiore del monitor o vai a vista? Ti chiedo
questo perchè la barra del menù avvio da l'impressione che effettivamente ci
sia più spazio sopra la finestra che sotto. Se ti interessa centrare la
PopUp in relazione alla barra del menù avvio sostituisci screen.height con
screen.availHeight
3) window.open(URL,
'Finestra','top='+y+',left='+x+',width='+Larghezza+',height='+Altezza+',tool
bar=0,location=1,status=0');
4) Per ridimenzionare una finestra già aperta ti consiglio di aggiungere nel
body della pagina che viene aperta nella popup l'istruzione
onload="resizeTo(x,y)" dove x e y sono come sempre larghezza ed altezza
della finestra


 della finestra
va alla grande grazie mille!
ciao (e scusa se continuo a romperti)
P@pox


Ucci ucci sento odor di errorucci! Scherzi a parte, hai questo problema con
NS? Perchč a me con IE funge che č una meraviglia. Se č cosě dovrebbe darti
problemi la versione 4.x di NN l'errore nello script sta nel lasciare lo
spazio tra la virgola ed i parametri passati per l'aspetto della finestra.
Prova ad eliminarli:
'top='+y+',left='+x+',width='+Larghezza+',height='+Altezza+',toolbar=0,locat
ion=1,status=1,directories=1,menubar=1,scrollbars=1,resizable=1,copyhistory=
1'


sorry, gli spazi li avevo messi solo nella mail per rendere più
comprensibile la lettura negli accapi..nella pratica ho messo tutto
appiccicato come scrivi tu.. :-) non te l'avevo detto, scusa.
pure io uso MSIE ma nun me va bene, 'naggia!
porca paletta, e con NS non c'è proprio nessun problema! :-? tra parentesi,
ho la 6 di NS..
ma vaff, penso di aver risolto..è possibile che lo stesso file sia
visualizzato diversamente su 2 pc diversi, alla stessa risoluzione, con MSIE
5, tutti i settaggi uguali della macchina? ..unica *cosina* diversa c'è:
l'OS..lavoro su un portatile con winME (che vede l'allineamento vert
cannato) e navigo con uno fisso con win98 (dove va tutto bene)..
mah..
grazie di tutto, comunque, sei davvero gentilissimo
a buon rendere
P@pox
