Salve, Sto provando a fare in modo che quando un utente clicca su un link di una lista numerata la pagina non cambia ma cambia semplicemente il contenuto di un div e all'url viene aggiunto un "?page=x" , fin qui nessun problema però mi sono accorto che quando clicco sul pulsante per tornare indietro l'url della pagina cambia ma il contenuto del div no.
Ho provato in tutti i modi possibili ma non riesco a risolvere, sotto vi posto il codice.
Spero che riusciate ad aiutarmi e grazie in anticipo =)
codice:
$("#page_nav #page_nav_center a").click(function(e) {
$("#footer").removeAttr("style");
var max_number = <?php echo $numero_bottoni_episodi; ?>;
var page_number = $(this).attr("href").split("=");
var page_number = page_number[1];
if(page_number == "first") {
var url = "?page=1";
page_number = 1;
} else if(page_number == "last") {
var url = "?page="+max_number;
page_number = max_number;
} else {
var url = "?page="+page_number;
}
window.history.pushState("changed", "Marco", url);
document.cookie="pagenumber="+page_number;
//$("#releases .release").animate({ opacity: 0.5 }, 300);
$("body").animate({ scrollTop: 100 }, 500);
//$("#releases .release").removeAttr("style");
var number = $("#page_nav #page_nav_center a");
number.removeAttr("class");
var first = 1;
var last = number.length;
last = parseInt(last);
last = last - 2;
if(parseInt(page_number) <= 3) {
for (x=first; x<=last; x++) {
number.eq(x).html(x).attr("href","?page="+x);
number.eq(parseInt(page_number)).attr("class","active");
}
} else if( parseInt(page_number) + 2 >= max_number ) {
var page_a = parseInt(max_number)-4;
var page_b = parseInt(max_number)-3;
var page_c = parseInt(max_number)-2;
var page_d = parseInt(max_number)-1;
var page_e = parseInt(max_number);
number.eq(1).html(page_a).attr("href","?page="+page_a);
number.eq(2).html(page_b).attr("href","?page="+page_b);
number.eq(3).html(page_c).attr("href","?page="+page_c);
number.eq(4).html(page_d).attr("href","?page="+page_d);
number.eq(5).html(page_e).attr("href","?page="+page_e);
if(page_a == page_number) {
number.eq(1).attr("class","active");
} else if(page_b == page_number) {
number.eq(2).attr("class","active");
} else if(page_c == page_number) {
number.eq(3).attr("class","active");
} else if(page_d == page_number) {
number.eq(4).attr("class","active");
} else if(page_e == page_number) {
number.eq(5).attr("class","active");
}
} else {
var page_a = parseInt(page_number)-2;
var page_b = parseInt(page_number)-1;
var page_c = parseInt(page_number);
var page_d = parseInt(page_number)+1;
var page_e = parseInt(page_number)+2;
number.eq(1).html(page_a).attr("href","?page="+page_a);
number.eq(2).html(page_b).attr("href","?page="+page_b);
number.eq(3).html(page_c).attr("href","?page="+page_c).attr("class","active");
number.eq(4).html(page_d).attr("href","?page="+page_d);
number.eq(5).html(page_e).attr("href","?page="+page_e);
}
$.ajax({
type: "POST",
url: "refreshuscite.php",
data: {
page: page_number
} ,
success : function(text) {
$("#releases").html(text);
$("#releases .release").mouseover(function() {
$(this).children("img").attr("src","image/anteprime/_hover.png");
})
$("#releases .release").mouseout(function() {
$(this).children("img").attr("src","image/spacer.png");
})
var footer = $("#footer").offset().top;
var finestra = $(window).height();
finestra = finestra - 50;
if(footer < finestra) {
$("#footer").attr("style","position: absolute; bottom: 0;");
} else {
}
}
});
e.preventDefault();
})