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

    JQuery - animate con scrollTop

    Salve a tutti... quelli che non sono in vacanza.
    Ho un form che invia dati di registrazione utente via Jquery.
    Siccome il form graficamente si sviluppa parecchio in altezza, nel codice js che invia i dati alla pagina di inserimento dati nel db, ho inserito un'animazione che mi "scrolla" la pagina all'inizio, prima di inviare i dati.
    Lo scrolling funziona così come l'invio di dati alla pagina di inserimento, senonchè... l'invio di dati avviene inspiegabilmente due volte.
    Di seguito il codice:

    Codice PHP:
    $(function() {
      $(
    ".submit_reg_graph").click(function() {
      var 
    dataString 'tutti i dati che servono...';
            
            $(
    "html, body").animate({scrollTop:0}, 1000'linear', function() {
              $.
    ajax({
            
    type"POST",
            
    url"pagina_inserimento.php",
            
    datadataString,
                  
    success: function(msg) {
                $(
    '#form_reg').html("

    <h3 style=\"margin-top: 5px;\">Esito Registrazione</h3>\n"
    )
                      .
    append("" msg "")
              .
    fadeIn(5000);
                }
                    });
                });
        return 
    false;
        });
    }); 
    Idee?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    probabilmente dipende dal selettore: html e body, il tutto viene eseguito 2 volte

    puoi determinare chi animare in maniera sperimentale, prima di procedere alla vera animazione
    vedi come risolvono qui
    http://www.zachstronaut.com/posts/20...roll-bugs.html

  3. #3
    Grazie.
    Vediamo che ne tiro fuori...

  4. #4
    Ho risolto da manuale. Pare funzionare.

    Codice PHP:
    $(function() { 
      $(
    ".submit_reg_graph").click(function() { 
      var 
    dataString 'tutti i dati che servono...'
             
            var 
    volte 0;
            $(
    'html, body').animate({scrollTop:0}, 500'linear', function() {
              if(
    volte == 0){
                  $.
    ajax({
              
    type"POST",
              
    url"login_g.php",
              
    datadataString,
                    
    success: function(msg) {
                            $(
    'html, body').animate({scrollTop:1}, 500'linear'),
                  $(
    '#form_reg').html("

    <h3 style=\"margin-top: 5px;\">Esito Registrazione</h3>\n"
    )
                        .
    append("" msg "")
                .
    fadeIn(5000);
                  }
                      });
                    }
                    
    volte 1;
                    return 
    false;
                });
        return 
    false;
        });
    }); 

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.