2012-06-14 11 views
8

Ho sviluppato un widget per Wordpress per mostrare il portfolio, l'utente può scegliere se desidera l'impaginazione, filtrare le categorie, il numero di post per pagina ... e così via, funziona tutto perfettamente con un sistema di impaginazione PHP che ho fatto.Dom Css perso dopo jQuery Paginazione Widget Wordpress

Sto cercando di implementare un jjery ajax su questa impaginazione nel widget per farlo ricaricare senza ricaricare l'intera pagina. Ho questo codice:

jQuery('.paginate a').live('click', function(e){ 
e.preventDefault(); 

var link = jQuery(this).attr('href'); 
jQuery('.widget_gantry_portfolio').html('<div class="loading"></div>'); 
jQuery('.widget_gantry_portfolio').load(link+' .widget_gantry_portfolio .portfolio_class'); 

L'impaginazione funziona perfettamente in php, quando a implementare questo codice i lavori di impaginazione, ma quando si fa clic le perdite di widget tutte le preferenze dell'utente (filtro spettacolo, spettacolo pagination..etc), div anche perdere la loro larghezza% calcolato e un'altezza che era dapprima presente in css (visto in firebug):

element.style{width and height} 

sono stato diversi giorni intorno a questo e hanno rivelarsi invece di vivo, on e delegare, e così via, ma nessuno di loro funziona, questa è l'impaginazione ajax funziona perfettamente anche nell'impaginazione dei post sul mio sito ma il widget non ricarica gli elementi Dom?

La cosa più importante per me sono:

-Ogni degli elementi larghezza e altezza mancanti, che era in DOM css, in primo luogo questa larghezza è calcolata con uno script enqued functions.php che va in questo modo, per esempio quando ha 4 colonne:

var mysizes = function() { 
    theWidth4 = jQuery(".mosaic-block4c img").css('width'); 
    jQuery(".mosaic-block4c").css('width', theWidth4); 
    theHeight4 = jQuery(".mosaic-block4c img").css('height'); 
    jQuery(".mosaic-block4c").css('height', theHeight4); 
} 

chiamo il mysizes(); funzione dal widget php con un tag

-Il filtro delle categorie mancanti penso perché, quando il caricamento della paginazione, non riconosce le preimpostazioni dell'utente per il widget. Lo riconosce perfettamente nella prima pagina ma non nelle pagine successive.

Collegamento al sito con widget di portafoglio impaginazione non funziona correttamente (cliccare 2 pagina per visualizzare):

http://framecero.com/aagantrywordpress/?page_id=635

Link ad un categoria campione con la stessa impaginazione di lavoro (impaginazione nella parte inferiore della pagina):

http://framecero.com/aagantrywordpress/?cat=4

+0

hai citato uno script enqueued di functions.php, è possibile che questo non si carichi quando chiamato da ajax? L'aspetto rapido di – roryok

+2

mostra che stai modificando almeno la struttura HTML. Nella pagina impaginata hai .portfolio_class due volte nidificato mentre l'originale è una sola volta. –

+1

Sì! Jure C. Questo era il problema e che dovevo usare la funzione: ajaxComplete(); ricaricare di nuovo. Grazie –

risposta

1

Da Jure C. comment:

Un rapido sguardo mostra che si sta almeno cambiando la struttura HTML. Nella pagina impaginata, il numero .portfolio_class è nidificato due volte mentre l'originale è una sola volta.