2011-12-13 29 views
7

ciao im usando questo codice per caricare il contenuto da un altro file php.come animare jquery load()

$(document).ready(function(){ 
      setInterval(function(){ 
           $('.live-stream ul').each(function(){ 
            $(this).load('tx.php'); 
         }); 
       }, 1000); 

     }); 

questo funziona correttamente, ma voglio script per fadeIn ogni "li" quando un nuovo record aggiunto, chiunque?

la cosa che voglio fare è qualcosa di simile avanzamento dell'azione di facebook live utente in alto a destra della casa facebook

+0

Si potrebbe usare 'display: none' o' opacity: 0' nel CSS e fare una normale animazione jQuery. – FakeRainBrigand

risposta

0

avete provato questo?

$(document).ready(function(){ 
    setInterval(function(){ 
     $('.live-stream ul').each(function(){ 
      $(this).load('tx.php').fadeIn('1000'); 
     }); 
    }, 1000); 
}); 

hmmm, che dire di questo

$(function(){ 
//Fade in all objects. 
var wrapper = $("live-stream ul"); 
$(wrapper).hide(); 

function fadeInAll(elem, fadeInTime, timeBetween) 
{ 
    for(i=0; i<elem.size(); i++) 
    { 
     $(elem[i]).delay(i*(timeBetween+fadeInTime)).fadeIn(fadeInTime);  
    } 
} 

fadeInAll($(wrapper), 1000, 500); 

}); 
+0

sì ancora lo stesso non è successo nulla, –

+0

hmm, ho provato il mio secondo codice, che funziona per me, ma non so se funziona anche per voi –

1

cosa succede se si chiama il metodo fadeIn

$(this).load('tx.php').fadeIn(400); 
+0

nulla cambia –

2

provare qualcosa di simile:

$(document).ready(function(){ 
    setInterval(function(){ 
     $('.live-stream ul').each(function(){ 
      $(this).hide().load('tx.php').fadeIn('500'); 
     }); 
    }, 1000); 

}); 

Nota l'uso di fadeIn() e hide() ... Non è necessario nascondere se hai già il <li> nascosto.

+0

mi è stato provato questo, ma i suoi interi lampeggiano ogni 1 secondo –

+0

Questo perché hai usato il selettore '.live-steam ul'. Stai selezionando ogni li e lo fai allo stesso tempo. Stavi cercando un effetto diverso? – sirmdawg

1

gestore chiamata durante il caricamento

$(document).ready(function(){ 
    setInterval(function(){ 
     $('.live-stream ul').each(function(){ 
       $(this).load('tx.php', function(){ 
         $('li').fadeIn("normal"); 
          }); 
       }); 
     }, 1000); 

    }); 
+0

non funziona: /. –

0

$ (this) viene visualizzato prima del .fadeIn ("1000") verrà eseguito. Prima di tutto bisogna nascondere l'elemento selezionato, caricare il contenuto e poi fadeIn, in questo modo:

$(document).ready(function(){ 
    setInterval(function(){ 
     $('.live-stream ul').each(function(){ 
      $(this).hide().load('tx.php').fadeIn("1000"); 
     }); 
    }, 1000); 

}); 

o nascondere gli elementi con i CSS:

display: none; 

EDIT: dovrebbe essere qualcosa di simile, ma non è testato ...

$(document).ready(function(){ 
    setInterval(function(){ 
     var streamListElement = $(document.createElement("li")).load('tx.php').hide(); 
     $('.live-stream ul').append(streamListElement).find(":hidden").fadeIn("3000"); 
    }, 1000); 
}); 
+0

quando lo faccio tutti i li lampeggia ogni 1 secondo –

+0

@Ronnie Chester Lynwood Questo è il tuo setInterval(). Chiami la funzione ogni secondo;) Che cosa vuoi esattamente fare? –

+0

sto cercando di fare qualcosa come il live feed di Facebook dal vivo in alto a casa Facebook –

0

utilizzare la richiamata, ma nascondere la Li usando i CSS display: none; fadeIn dovrebbe funzionare dopo.

$(document).ready(function(){ 
    setInterval(function(){ 
     $('.live-stream ul').each(function(){ 
       $(this).load('tx.php', function(){ 
         $(this).find('li').fadeIn(); 
          }); 
       }); 
     }, 1000); 

    }); 
+0

c'è un modo per usare setInterval solo per i non interi? –

9

Devi nasconderlo prima.

$(this).hide().load("tx.php").fadeIn('500'); 
+0

cool, funziona perfettamente –

0

Non penso che sia possibile utilizzare l'animazione direttamente su load(). Ma qui è il trucco che ho usato:

$("#id").animate({opacity: 0},1000); 
$("#id").load(url); 
$("#id").animate({opacity: 1},1000); 

L'elemento non viene visualizzato, appena diventa trasparente. Sembra lo stesso.