Rok założenia: 2008Kontakt
większość serwisów internetowych potrzebuje dodatkowych funkcjonalności: skryptów, wtyczek
Poinformuj znajomych o tym wątku
Poinformuj znajomych na Facebook-u o tym wątku Poinformuj innych ludzi na Wykopie o tym wątku Poinformuj znajomych na Twitter-ze o tym wątku Poinformuj znajomych na Blip-ie o tym wątku Poinformuj znajomych na Buzz-ie o tym wątku Poinformuj znajomych na GG o tym wątku

Javascript - paginacja

Postprzez Pawe ł Kazimirowicz
napisane: 16 Gru 2011, o 13:48

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Mam przed sobą problem związany ze zbyt dużą ilością tekstu w contencie strony. Nie było by problemu gdyby nie akt, iż część dla mnie najważniejsza znajduje się pod tekstem.

Strona jest już zrobiona i wypełniana tekstem (nieudostępnie jej jeszcze ponieważ nie jest skończona) W trakcei wrzucania treści wyszło, że niekiedy jest jej dużo. Tak jak wspomniałem wcześniej to co ważne dla mnie jest pod tekstem.
Dlatego wpadłem na pomysł paginacji, a z pomocą przyszła java i jquery. Poszukałem po sieci coś znalazłem niestety sam nie znam się na javie.
Skrypt działa poprawnie ale przechodzenie po kolejnych strona jest numerowane, a ja potrzebuję w tm miejscu tekstu, który będzie linkiem do następnej paginowanej strony (link nie pojawia się na stronie na której jesteśmy). A po przejściu do strony 2giej link pojawi się na pierwszym tekście itd. w zależności ile stron będzie.

Niestety mój brak wiedzy powoduje,że nie jestem w stanie sam zmodyfikować kodu, który podaje poniżej. Dlatego proszę o pomoc w modyfikacji.

var Imtech = {};
Imtech.Pager = function() {
this.paragraphsPerPage = 3;
this.currentPage = 1;
this.pagingControlsContainer = '#pagingControls';
this.pagingContainerPath = '#paginacja';

this.numPages = function() {
var numPages = 0;
if (this.paragraphs != null && this.paragraphsPerPage != null) {
numPages = Math.ceil(this.paragraphs.length / this.paragraphsPerPage);
}

return numPages;
};

this.showPage = function(page) {
this.currentPage = page;
var html = '';

this.paragraphs.slice((page-1) * this.paragraphsPerPage,
((page-1)*this.paragraphsPerPage) + this.paragraphsPerPage).each(function() {
html += '<div>' + $(this).html() + '</div>';
});

$(this.pagingContainerPath).html(html);

renderControls(this.pagingControlsContainer, this.currentPage, this.numPages());
}

var renderControls = function(container, currentPage, numPages) {
var pagingControls = "<ul>";
for ( i = 1; i <= numPages; i++) {
if (i != currentPage) {
pagingControls += "<li><a href='#' onclick='pager.showPage(" + i + "); return false;'>" + i + "</a></li>";
} else {
pagingControls += "<li>" + i + "</li>";
}

}

pagingControls += "</ul>";

$(container).html(pagingControls);
}
}

Pawe ł Kazimirowicz
 
Posty: 4
Rejestracja: 01 Gru 2011



Wróć do Skrypty

 


  • Podobne tematy
    Odpowiedzi
    Wyświetleń
    Ostatni post

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość