2011-11-04 15 views
5

Una volta, ho letto un articolo che diceva che la transizione di pagina github è stata eseguita da pjax, ho controllato il progetto jquery-pjax. Penso di avere vicino la risposta, deve essere qualcosa correlato all'evento pjax:start e pjax:end, ma non riesco ancora a farlo funzionare, quindi cerco di ottenere un aiuto qui.Come creare transizioni di pagina in stile github di pjax

$('a.pjax').pjax('#main'); 
$('#main').bind('pjax:start', function(){$('#main').slideUp()}) 
    .bind('pjax:end'), function(){$('#main').slideDown()}); 

Ma non ha effetti

+0

Stai parlando di come quando si scava attraverso il codice delle pagine successive/precedenti scivolare dentro e fuori? Questo è fatto con HTML5 History API e basic comportamentale JS. –

+0

@CalvinFroedge sì, sto parlando della pagina di visualizzazione del codice e non intendi niente riguardo a pjax? –

+2

Sì, il nocciolo di ciò che rende questo lavoro è l'API della cronologia: http://html5demos.com/history Otterrai richieste dopo aver eseguito il passaggio a un nuovo URL. La parte degli effetti può essere eseguita con jQuery standard animato. –

risposta

4

Github utilizzare le funzionalità HTML5 per le transizioni di pagina. Ciò include le nuove API della cronologia JS e le transizioni CSS3. Nessuna jQuery in questione tranne per l'ascolto di eventi standard, i selettori. Il post sul blog è qui con tutti i collegamenti relativi https://github.com/blog/760-the-tree-slider

+5

Ho letto questo articolo, ancora nessuna idea –

1

Non so se questo è rilevante a tutti. Ma ho usato Pjax me stesso e il codice è un errore di sintassi sopra, dovrebbe essere:

$('a.pjax').pjax('#main'); 
$('#main').bind('pjax:start', function(){$('#main').slideUp()}) 
.bind('pjax:end', function(){$('#main').slideDown()}); 

Edit: Sì, dispiace di non segnalazione. Esattamente come @Udo Held ha detto: è necessario rimuovere la parentesi dopo 'pjax: end' altrimenti non seguirà ed eseguirà la funzione $ ('# main'). SlideDown().

+0

Probabilmente dovresti indicare che l'errore è difficile distinguere la differenza: Devi rimuovere la parentesi dopo '.bind ('pjax: end'' e poi ripetere il codice di lavoro o qualcosa di simile. –

1

Pjax: Demo, Source[Github]
È quello che uso github .. reference

+0

molto grazie per questo ho passato una settimana alla ricerca e finalmente ho capito github out thx al tuo link di riferimento – Noitidart

Problemi correlati