2012-06-14 12 views
8

Mam opracowany widget dla Wordpress, aby pokazać portfolio, użytkownik może wybrać, czy chce paginacja, kategorie filtrów, liczba postów na stronie ... i tak dalej, to wszystko działa doskonale z systemem stronicowania php.Dom Css utracone po jQuery Pagination Wordpress widget

Próbuję zaimplementować jquery ajax do tej strony w widgecie, aby przeładować ją bez ponownego ładowania całej strony. Mam ten kod:

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'); 

paginacji działa doskonale w php, gdy zaimplementować ten kod działa podział na strony, ale po kliknięciu straty widgetów wszystkie preferencje użytkownika (Pokaż filtr, show pagination..etc), DIV również luźne ich obliczono% szerokości i wysokości, która była najpierw obecna w css (obserwowane u Firebug):

element.style{width and height} 

Byłem kilka dni dookoła to i udowodnić zamiast żywo, na i przekazać, i tak dalej, ale żaden z nich nie działa, ta strona jest podzielona na ajax działa również idealnie w dzieleniu stron na mojej witrynie, ale widżet nie ładuje elementów Dom?

Najważniejszą rzeczą dla mnie są:

-Każdy z elementów szerokość i wysokość brakujących, że był w DOM CSS, po pierwsze szerokość ta jest obliczana z functions.php enqued skrypt, który idzie tak na przykład gdy ma 4 kolumny:

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); 
} 

Nazywam się mysizes(); funkcja z php widgetu ze znacznikiem

-Filtr kategorii brakuje myślę, ponieważ, gdy ładowanie paginacji, nie rozpoznaje ustawień użytkownika dla widżetu. Rozpoznaje go doskonale na pierwszej stronie, ale nie na kolejnych stronach.

Link do strony z portfolio widget stronicowanie nie działa prawidłowo (kliknij 2 strony, aby zobaczyć):

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

Link do kategorii próbki z tego samego paginacji pracy (stronicowania na dole strony):

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

+0

Wspomniał Pan o skrypcie skryptowym functions.php, czy to możliwe, że nie ładuje się, gdy jest wywoływane z ajax? – roryok

+2

Szybki podgląd pokazuje, że zmieniasz co najmniej strukturę HTML. Na podzielonej na strony stronie .portfolio_class jest dwa razy zagnieżdżone, podczas gdy oryginał jest tylko raz. –

+1

Tak! Jure C. To był problem i musiałem użyć tej funkcji: ajaxComplete(); ponownie załadować wszystko. Dzięki –

Odpowiedz

1

Od Jure C. comment:

Szybki rzut oka pokazuje, że zmieniasz co najmniej strukturę HTML. W przypadku stron z paginacją masz dwa razy zagnieżdżone .portfolio_class, podczas gdy oryginał jest tylko raz.

Powiązane problemy