Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Javascript] Funzione che inspiegabilmente non funziona :P

    Sto studiando javascript ed ho creato una funzione per aprire una popup al centro dello schermo (sia x che y), ma inspiegabilmente mi viene centrata solo sull'asse delle x (ad eccezione di opera, col quale funziona come dovrebbe)...
    la cosa strana è che passando "a mano" i settaggi della popup, funziona, cioè mi viene centrata alla perfezione (e qui come per magia non funziona + con opera)

    il codice è questo:

    codice:
    function openCenteredPopup(url) {
     var moveToX = Math.round((screen.width - 500) / 2);
     var moveToY = Math.round((screen.height - 200) / 2);
     var popupSettings = "'" + "top=" + moveToY + ", left=" + moveToX + ", width=500, height=200" + "'";
     window.open(url,'popWindow', popupSettings);
    }
    e richiamo la funzione così:

    codice:
    Apri popup!
    ..e provando a passare i dati "a mano":

    codice:
    <a href="javascript:;"
    onclick="window.open('pop/mypop.htm','popWindow','top=284, left=262, width=500, height=200');">
    ma perchè???

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Stai mettendo nella stringa qualche apice di troppo...
    codice:
     var popupSettings = "'" + "top=" + moveToY + ",left=" + moveToX + ",width=500,height=200" + "'";
    ciao

    ps: togli anche gli spazi all'interno della stringa... qualche browser non li gradisce.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    grazie 1000, ora funziona

    Però ho dei dubbi: ma i parametri di apertura popup, non vanno passati tra virgolette? Se provo ora a stampare popupSettings (document.write), ottengo un errore js che mi dice che la variabile non è definita! :master:

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non vanno passati fra virgolette... ma dev'essere una stringa, quindi racchiusa fra virgolette.

    Se guardi meglio l'istruzione con la quale crei la stringa con i parametri vedi che tu usi le virgolette... che poi siano singole o doppie in js non ha importanza.

    esempi equivalenti:

    funzione('stringa');

    oppure

    parametro = "stringa";
    funzione(parametro);

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.