Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    posizionare elemento con position

    Ciao a tutti,

    non riesco a posizionare un elemento usando le lib jquery e jquery-ui

    in rete ho trovato questo codice che ovviamente funziona.



    jquery-ui-1.8.9.custom.min.js
    codice:
    <html>
    <head>
    <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="jquery-ui-1.8.9.custom.min.js"></script>
    </head>
    <body>
    <div id="wrapper" style="width: 500px; height: 500px; background: #000;">
     <div id="box" style="width: 50px; height: 50px; background: #fff;"></div>
    </div>
    <script>
     $(document).ready(function() {
      $("#box").position({
       my: 'left top',
       at: 'left top',
       of: $("#wrapper"),
       offset: '100 300'
     });
    });
    </script>
    </body>
    </html>
    link:
    http://www.ascolitech.it/jquery/posi...-con-jqueryui/

    al posto di offset: '100 300' voglio utilizzare i valori di due variabili x, y
    quindi ho fatto:


    codice:
                x= 100;
                y = 300;
                var posizione = "'"+x.toString()+" "+y.toString()+"'";
                
                $("#" + id).position({
                    my: 'left top',
                    at: 'left top',
                    of: $(area),
                    offset: posizione               
                 });
    ma "sente" solo la y e non la x

    Qualcuno sa dirmi perchè?

    Grazie
    Guidino

  2. #2
    Credo dipenda da come costruisci la stringa, prova con:
    codice:
    var posizione = x.toString()+" "+y.toString();
    Il codice sopra genera una stringa: 'x y', se usi:
    codice:
    var posizione = "'"+x.toString()+" "+y.toString()+"'";
    gli apici entrano a far parte della stringa e non ne sono i "marcatori".

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie infinite,
    funziona.

    Guidino

  4. #4
    Originariamente inviato da guidino
    Grazie infinite,
    funziona.

    Non è neanche necessario usare il metodo toString(),
    codice:
    var posizione=x+' '+y;
    restituisce comunque una stringa.

    Originariamente inviato da guidino
    ma "sente" solo la y e non la x

    Qualcuno sa dirmi perchè?
    Evidentemente il plugin esegue uno split allo spazio su 'x y', poi esegue un cast, da stringa a numero, sui due valori.
    La stringa che gli passavi era: "'11 22'",
    Quindi la parte sinistra, x, iniziava con un apice. Di conseguenza la conversione da stringa a numero restituiva un valore nullo.
    E "sentiva" solo la y perché nella parte destra di 'x y' l'apice stava alla fine, quindi il cast "funzionava" in quanto veniva eliminato l'apice finale, prendendo solo la parte numerica della stringa.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie davvero,
    è un sollievo sapere che sul forum ci sono persone competenti.
    Io su queste cose ci perdo un sacco di tempo.

    Ancora grazie e scusatemi se in questo periodo troverete altri miei post di richiesta di aiuto.

    Ancora grazie
    Guidino

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.