Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    199

    JQuery Draggable, far "ricordare" la posizione al cambio pagina

    Ciao,

    come da titolo necessito di uno script che mi mantenga le coordinate dell'oggetto draggato anche quando si cambia pagina.

    io ho scritto questo:

    codice:
    $(function() 
    { $( "#actions" ).draggable({ 
    drag: function(){ 
    var offset = $(this).offset();
     var xPos = offset.right; 
    var yPos = offset.top; 
    $('#actions').css({'right': xPos}); 
    $('#actions').css({'top': yPos}); 
    }
     })
     });
    riesco a fare il drag, ma, nonostante mi cambi la posizione del css (o dovrebbe cambiarla, non so come poterlo verificare) quando cambio pagina mi ritorna al punto di partenza.

    Idee?

    Grazie mille, ciao.

  2. #2
    Direi tre modi, il primo è passare xPos e yPos di pagina in pagina, e al caricamento ripristinare la posizione dell'elemento.
    Il secondo è non cambiare pagina e caricare il contenuto nuovo nella stessa pagina (con ajax)
    Il terzo è salvare le variabili in un cookie.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    199
    il secondo lo escludo perchè ormai il sito ha già una sua struttura.
    il terzo lo vorrei escludere perché non mi piace usare i cookie.
    mentre per la prima soluzione ho una riserva: per passare i valori tramite GET (se questo è quello che intendevi tu) devo far in modo che tutti i link abbiano nel loro percorso x e y da passare (il che lo renderebbe da escludere a questo punto del lavoro)...o c'è un altro modo?

    in ogni caso grazie per l'interessamento!

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    199
    ho trovato questo:

    JQuery Session Plugin

    provo a vedere se può fare al caso mio.

    Grazie, ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    199
    ciao, ho lasciato stare la soluzione precedente e mi sono diretto verso AJAX.

    Ho scritto questo:

    codice:
    $(function() { 
    $( "#actions" ).draggable({ 
    drag: function(){ 
    var offset = $(this).offset(); 
    var xPos = offset.left; 
    var yPos = offset.top; 
    function actions(xPos, yPos) { 
    if (window.XMLHttpRequest) {
    xmlhttp=new XMLHttpRequest(); } 
    else {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } 
    xmlhttp.open("GET","../php/actions.php?xpos="+xPos+"&ypos="+yPos,true); 
    xmlhttp.send(); } } }) });
    mettendo insieme il codice precedente con una funzione AJAX.
    Poi sulla pagina actions.php non ho fatto altro che salvare le variabili GET in sessione per poi riprenderle nelle pagine del sito.

    Iocon JS ancora faccio taaaanta fatica a muovermi, per cui vi chiedo cortesemente cosa c'è di sbagliato nel codice di sopra dal momento che le variabili di sessione non vengono trasmesse?

    Grazie tante!

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    199
    Risolto:

    questo:
    codice:
    function actions(xPos, yPos) {
    non aveva senso messo li!!!

    Spero potrà essere di aiuto a qualcuno. Ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.