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

    Ajax contenuto Div di default

    Salve a tutti

    Il problema è questo ho un div con id: #container

    Quando apro la pagina per la prima volta me lo deve riempire di default e io uso questo codice:

    codice:
    $(document).ready(function(){
        
            
        $("#container").load("tutti_deal.php");
         
        $("#t1").click(function(){
                event.preventDefault();
                $("#t1").addClass('on');
                $("#t2").removeClass('on');
                $("#t3").removeClass('on');
      
               
               $("#container").fadeOut("slow");
          
              $("#container").load(("tutti_deal.php"), function(){  
                $("#container").fadeIn("slow"); 
                       });
                
                return false;
             });
    
          $("#t2").click(function(){            
                  event.preventDefault();
                 $("#t2").addClass('on');
                 $("#t1").removeClass('on');
                 $("#t3").removeClass('on');
    
               $("#container").fadeOut("slow"); 
               $("#container").load(("content.php"), function(){  
                $("#container").fadeIn("slow"); 
                       });
                //$("#container").load("content.php");
    
                return false;
             });     
             
             
            $("#t3").click(function(){            
                  event.preventDefault();
                 $("#t3").addClass('on');
                 $("#t1").removeClass('on');
                 $("#t2").removeClass('on');
                 
               $("#container").fadeOut("slow"); 
               $("#container").load(("sviluppo.php"), function(){  
                $("#container").fadeIn("slow"); 
                       });
                 
                //$("#container").load("sviluppo.php");
                return false;
             });     
             
    });
    dove la prima riga : $("#container").load("tutti_deal.php");
    mi carica di default la pagina nel Div #container, mentre #t1 #t2 e #t3 sono dei link che mi caricano un nuovo contenuto nel Div #container.

    Il tutto funziona, se non fosse che se clicco su uno dei 3 link prima che la pagina sia caricata, mi attiva la classe (ad esempio $("#t3").addClass('on'); ) e quindi mi cambia lo style ma il contenuto nel Div è quello della pagina di default.

    Come posso risolvere?

    Grazie a tutti per l'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    A meno che tu non lo faccia per motivi di pesantezza della pagina non ha molto senso caricare la pagina e poi caricare in maniera asincrona dei contenuti di default. In genere se la pagina ha dei contenuti di default arriva al client con quei contenuti.

    Tuttavia penso che il problema ti si presenti comunque ogni qualvolta fai partire richieste asincrone senza attendere che le precedenti richieste siano completate.
    A tal proposito potresti utilizzare .ajax anzichè .load con l'opzione async impostata a false.

  3. #3
    Posso chiederti un esempio della sintassi??? Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    Per la prima parte del mio post non so cosa dovrei mostrarti.

    --------------------------------------
    Per la seconda parte del mio post

    Un sacco di esempi qui.

    Nel tuo caso potresti fare così:
    codice:
    request = $.ajax({
       url: 'tutti_deal.php',
       async: false
    });
    
    request.done(function(msg) {
      $("#container").html( msg );
    });

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.