Dlaczego dodajesz jeden przed obliczaniem reszty z dzielenia? Jeśli na pojedynczej stronie jest 16 postów, a w jakimś temacie mamy ich 30, to liczba postów na ostatniej stronie
nie wynosi:
(30 + 1) % 16 = 15.
Ale: 30 % 16 =
14Trochę mi się nudziło i napisałem dla Ciebie lepszy skrypt, ale używając jQuery:
/*jslint browser: true*/
/*global jQuery*/
(function($) {
"use strict";
$(function() {
var postsPerPage = 16,
$repliesColumn = $("th")
.filter(function() {
return $.trim($(this).text()).toLowerCase() === "odpowiedzi";
});
/*jslint unparam: true*/
$repliesColumn
.closest("table")
.find("td:nth-child(" + ($repliesColumn.index() + 2) + ") span")
.append(function(index, html) {
var replies = parseInt(html, 10),
result = replies % postsPerPage;
return " / " + (result !== 0 ? result % postsPerPage : (replies !== 0 ? postsPerPage : 0));
});
});
}(jQuery));
Jeśli używasz tego skryptu z rozszerzeniem przeglądarki typu Tampermonkey, to pamiętaj o podłączeniu jQuery:
http://code.jquery.com/jquery.min.jsA może jeszcze fajniej byłoby dodać osobną kolumnę na prawo od kolumny Odpowiedzi?