J scsipt type="text/javascript"> var $jq = jQuery.noConflict(); $jq(window).load(function() { // slideshow accueil $jq('#main-slider').flexslider({ animation: "fade", slideshowSpeed: 6000, pauseOnHover: true, pauseOnAction: false, controlNav: false, slideshow:true }); //agenda $jq('#secondary-slider').flexslider({ animation: "scroll", slideshowSpeed: 8000, controlNav: false, pauseOnAction: false, pauseOnHover: true, slideshow: true }); // appel a un numero de page particulier (si class different de inactive) $jq(document).on('click','.pagination span:not(.inactive)',function(event){ // numero de page desiree var numPage = $jq(this).attr('page-num'); // type de fiche var typeFiche = $jq(this).attr('type-fiche'); // cache les pages de resultat cacherPagesResultat(); // verifie que la page n'est pas deja chargee if ($jq('.' + typeFiche).is('.page' + numPage)) { // si page chargee, affichage de la page afficherPageResultat(numPage); // MAJ pagination majPagination(numPage); } else { // recuperation des parametres de la requete precedente var param = $jq('#PARAM_REQUETE').val(); // appel au serveur $jq.ajax({ type: 'POST', url: '/servlet/servletListePaginee', data: { /* passage de la rubrique de la page courante afin d'acceder a l'url des fiches dans le bon site*/ 'RF' : 'ZYZYZYZYZYZYZYZYZYZYZY', 'PARAM' : param, 'PAGE' : numPage, 'TYPE_FICHE' : typeFiche }, success: function(retour){ // si succes, affichage des resultats, MAJ des precedents, suivants if (retour != 'ERROR_MESSAGE') { $jq('.contenu_liste_info_paginee').html(retour); afficherPageResultat(numPage); majPagination(numPage); // retourne en haut de liste $jq('html,body').animate({scrollTop: $jq(".contenu_liste_info_paginee").offset().top}, 'slow'); }else { // TODO que faire en cas d'erreur } } }); } return false; }); // cache les page de resultat function cacherPagesResultat(){ $jq('.infos').hide(); } // affiche la page de resultat function afficherPageResultat(numPage){ $jq('.page' + numPage).show(); // retourne en haut de liste $jq('html,body').animate({scrollTop: $jq(".contenu_liste_info_paginee").offset().top}, 'slow'); } // MAJ de la pagination function majPagination(numPage){ // recupere la nombre de page total var element = $jq('.pagination .liste_page span').last(); var nbPageTotal = $jq(element).attr('page-num'); // met à jour la page active (supprime d'abord l'ancienne page active) $jq('.pagination .liste_page span').removeClass('active'); $jq('#page' + numPage).addClass('active'); // suppression du caractere inactif des boutons precedent, premier... $jq('.pagination span').removeClass('inactive'); // si nb page = 1, inactivation de tous les boutons if (nbPageTotal==='1'){ $jq('.pagination span').addClass('inactive'); }else { // MAJ des inactivations des boutons if (numPage==='1'){ // si 1ere page inactivation des boutons premier et precedent $jq('.pagination span.premier').addClass('inactive'); $jq('.pagination span.precedent').addClass('inactive'); }else if (numPage===nbPageTotal){ // si derniere page inactivation des boutons dernier et suivant $jq('.pagination span.dernier').addClass('inactive'); $jq('.pagination span.suivant').addClass('inactive'); } } // MAJ des numeros de pages des precedent/suivants var numPageInt = parseInt(numPage); var numPagePrecedent = numPageInt - 1; if (numPagePrecedent <= 0){ numPagePrecedent = 1; } $jq('.pagination span.precedent').attr('page-num', numPagePrecedent.toString()); var numPageSuivant = numPageInt + 1; if (numPageSuivant > nbPageTotal){ numPageSuivant = nbPageTotal; } $jq('.pagination span.suivant').attr('page-num', numPageSuivant.toString()); } });