1/** 2 * Kevin Staut - official website - ACTUALITÃS 3 * 4 * v 002 5 * 6 * last-édit : 2015-08-17 7 */ 8 9 10/************************ 11 * Actualités 12 ************************/ 13 14 15 /** 16 * tiroir_mode La position du tiroir actualité 17 * 18 * @type {Number} 0 => fermé à droite 19 * 1 => mode colonne 20 * 2 => complètement ouvert 21 */ 22 kevin.tiroir_mode = 1; 23 24 25 /** 26 * le nombre total d'actualités 27 */ 28 kevin.max_actualites = kevin.liste_actualites.length; 29 30 31 /** 32 * l'actualité affichée actuellement 33 */ 34 kevin.compteur_actualites = 0; 35 36 37 38 /** 39 * preloading des images actualites 40 */ 41 kevin.imagesActus = []; 42 $.each(kevin.liste_actualites, function( index, actu ) { 43 kevin.imagesActus[index] = new Image(); 44 kevin.imagesActus[index].src = actu.actualite_image; 45 }); 46 47 48 49 /*10 50 * recadre le texte actu sur la largeur de la fenêtre 51 */ 52 kevin.ajustePageActualite = function() { 53 setTimeout(function() { 54 var margeActu = (($(window).width() - $('.actualite_zone_gauche').width() ) / 2 ) +'px'; 55 56 // petite largeur ou pas de lien 57 // => on centre l'actu sur 90% de large 58 if($(window).width()<900 || $('#zone_liens_actus li').length==0) { 59 $('#zone_liens_actus').hide(); 60 $('#zone_liens_actus2').show(); 61 $('.actualite_zone_gauche').css('width', '90%'); 62 margeActu = (($(window).width() - $('.actualite_zone_gauche').width() ) / 4 ) +'px'; 63 if ($(window).width() > 1300) { 64 margeActu = (($(window).width() - $('.actualite_zone_gauche').width() ) / 2 ) +'px'; 65 }; 66 $('.actualite_zone_gauche').css('margin-left', margeActu); 67 68 // grande largeur ou liens présent 69 // => on décale l'actu sur à 70% de large 70 } else { 71 $('#zone_liens_actus').show(); 72 $('#zone_liens_actus2').hide(); 73 $('.actualite_zone_gauche').css('width', '70%'); 74 margeActu = (($(window).width() - $('.actualite_zone_gauche').width() ) / 8 ) +'px'; 75 if ($(window).width() > 1400) { 76 margeActu = (($(window).width() - $('.actualite_zone_gauche').width() ) / 4 ) +'px'; 77 }; 78 if ($(window).width() < 1000) { 79 margeActu = 0; 80 }; 81 } 82 $('.actualite_zone_gauche').css('margin-left', margeActu); 83 }, 900); 84 85 }; 86 87 88 89 /** 90 * affiche l'actualité précédente 91 */ 92 kevin.actualite_precedente = function() { 93 if (kevin.compteur_actualites>0) { 94 kevin.compteur_actualites--; 95 } else { 96 kevin.compteur_actualites = kevin.max_actualites-1; 97 } 98 var actu_id = kevin.liste_actualites[kevin.compteur_actualites].id; 99 kevin.chargeActualite(actu_id); 100 }; 101 102 103 /** 104 * affiche l'actualité suivante 105 */ 106 kevin.actualite_suivante = function() { 107 if (kevin.compteur_actualites < kevin.max_actualites-1) { 108 kevin.compteur_actualites += 1; 109 } else { 110 kevin.compteur_actualites = 0; 111 } 112 var actu_id = kevin.liste_actualites[kevin.compteur_actualites].id; 113 kevin.chargeActualite(actu_id); 114 }; 115 116 117 /** 118 * bouton central du tiroir actu 119 * mode 0 : fermé 120 * mode 1 : colonne 121 * mode 2 : ouvert 122 */ 123 kevin.btn_tiroir_actu = function () { 124 var elements = ['#bt_actualite_precedente', 125 '#bt_actualite_suivante', 126 '#compteur_actualites']; 127 128 // ferme complètement le tiroir 129 if (kevin.tiroir_mode===1) { 130 kevin.tiroir_mode = 0; 131 var tl = new TimelineMax(); 132 tl.to('#zone_actualites_tiroir', 0.3, { autoAlpha: 0}) 133 .to('#tiroir_actualite', 0.6, { right: '-340px' }); 134 135 136 // ouvre le tiroir 137 } else if (kevin.tiroir_mode===0) { 138 kevin.tiroir_mode = 1; 139 var tl = new TimelineMax(); 140 tl.to('#tiroir_actualite', 0.75, { right: '0' }) 141 .to('#zone_actualites_tiroir', 0.3, { autoAlpha: 1}); 142 143 144 145 // ferme l'actu (juste tiroir) 146 } else if (kevin.tiroir_mode===2) { 147 kevin.tiroir_mode = 1; 148 var tl = new TimelineMax(); 149 tl.to(elements, 0.12, { autoAlpha: 0 }); 150 tl.to('#zone_actualites_ouverte', 0.3, { autoAlpha: 0 }) 151 .addCallback(function() { 152 TweenMax.to('#bt_actualite_precedente', 0.6, {left:'30px'} ); 153 TweenMax.to('#bt_actualite_suivante', 0.6, {right:'30px'} ); 154 TweenMax.to('#tiroir_actualite', 0.6, { width: '340px' }); 155 TweenMax.to('#compteur_actualites', 0.6, {css:{marginLeft:0 }});
156 TweenMax.to('#compteur_actualites', 0.6, { left: 'auto' }); 157 }) 158 .to('#zone_actualites_tiroir', 0.3, { autoAlpha: 1}) 159 .to(elements, 0.12, { autoAlpha: 1 }); 160 161 } 162 }; 163 164 165 166 /** 167 * bouton "ferme" actualité : l'actu en mode texte 168 */ 169 kevin.btn_ferme_tiroir_actu = function() { 170 kevin.tiroir_mode = 1; 171 var elements = ['#bt_actualite_precedente', 172 '#bt_actualite_suivante', 173 '#compteur_actualites', 174 '#compteur_actualites']; 175 var tl = new TimelineMax(); 176 tl.to(elements, 0.12, { autoAlpha: 0 }); 177 tl.to('#zone_actualites_ouverte', 0.3, { autoAlpha: 0 }) 178 .addCallback(function() { 179 TweenMax.to('#bt_actualite_precedente', 0.6, {left:'30px'} ); 180 TweenMax.to('#bt_actualite_suivante', 0.6, {right:'30px'} ); 181 TweenMax.to('#tiroir_actualite', 0.6, { width: '340px' }); 182 TweenMax.to('#compteur_actualites', 0.6, {css:{marginLeft:0 }}); 183 TweenMax.to('#compteur_actualites', 0.6, { left: 'auto' }); 184 }) 185 .to('#zone_actualites_tiroir', 0.3, { autoAlpha: 1}, 0.9) 186 .to(elements, 0.12, { autoAlpha: 1 }); 187 } 188 189 190 191 192 /** 193 * bouton "bulle" actualité : ouvre l'actu en mode texte 194 * * @type {Number} 195 * 0 => fermé à droite 196 * 1 => mode colonne 197 * 2 => complètement ouvert 198 */ 199 kevin.btn_ouvre_actu = function() { 200 kevin.tiroir_mode = 2; 201 kevin.idleTime = 0; 202 var elements = ['#bt_actualite_precedente', 203 '#bt_actualite_suivante', 204 '#compteur_actualites', 205 '#compteur_actualites']; 206 var tl = new TimelineMax(); 207 tl.to('#zone_actualites_tiroir', 0.3, { autoAlpha: 0 }) 208 .to(elements, 0.12, { autoAlpha: 0 }) 209 .addCallback(function() { 210 TweenMax.to('#bt_actualite_precedente', 0.6, {left:'42%'} ); 211 TweenMax.to('#bt_actualite_suivante', 0.6, {right:'42%'} ); 212 TweenMax.to('#tiroir_actualite', 0.75, { width: '100%' }); 213 TweenMax.to('#compteur_actualites', 0.6, {css:{marginLeft:'-140px' }}); 214 TweenMax.to('#compteur_actualites', 0.6, { left: '50%' }); 215 kevin.ajustePageActualite(); 216 }) 217 .to('#zone_actualites_ouverte', 0.3, { visibility:'visible', autoAlpha: 1, display:'block'}, 1.2) 218 .to(elements, 0.12, { autoAlpha: 1 }); 219 220 221 kevin.ajustePageActualite(); 222 223 // scroll 224 $('#zone_scroll_actus').mCustomScrollbar({ 225 scrollButtons: { 226 enable: true, 227 scrollAmount: 120 228 }, 229 mouseWheel: { 230 enable: true, 231 preventDefault: true, 232 scrollAmount: 60 233 }, 234 theme: 'rounded' 235 }); 236 setTimeout(function() { 237 if($(window).width()>900) { 238 var margeActu = (($(window).width() - $('.actualite_zone_gauche').width() ) / 3 ) +'px'; 239 $('.actualite_zone_gauche').css('margin-left', margeActu); 240 }; 241 }, 1200); 242 243 }; 244 245 246 /** 247 * chargeActualite Récupère les infos et affiche une actualite au click 248 * 249 */ 250 kevin.chargeActualite = function(actu_id) { 251 kevin.btn_ferme_tiroir_actu(); 252 $.ajax({ 253 method: "GET", 254 url: "index.php?id=89", 255 dataType: 'json', 256 data: { 257 a: 'get_actu', 258 aid: actu_id 259 } 260 }) 261 .done(function( msg ) { 262 $('#tiroir_actualite').html(msg.reponse); 263 $.each(kevin.liste_actualites, function( index, actu ) { 264 if (actu.id==actu_id) { 265 $('#zone_actualites').css("background-image", "url("+actu.actualite_image+")"); 266 $('#date_actualite').html( actu.date_format); 267 $('#compteur_actualites').html( actu.idx + '/' + kevin.liste_actualites.length ); 268 } 269 }); 270 kevin.ajustePageActualite(); 271 272 }); 273 $('#tiroir_actualite').empty(); 274 }; 275 276 277 278 /** 279 * changement automatique des actus toutes les x secondes 280 */ 281 kevin.idleTime = 0; 282 kevin.change_actualite_auto = function() { 283 kevin.intervals.change_actualite_auto = setInterval(function() { 284 if ( kevin.idleTime==6 && kevin.tiroir_mode!=2) { 285 kevin.actualite_suivante(); 286 kevin.idleTime=0; 287 kevin.btn_tiroir_actu(); 288 } 289 }, 1000); 290 kevin.intervals.idleInterval = setInterval(timerIncrement, 1000); 291 }; 292 293 294 295 296 /** 297 * fermeture automatique du tiroir actu au bout de x secondes 298 */ 299 $(this).mousemove(function (e) { 300 kevin.idleTime = 0; 301 if (kevin.tiroir_mode===0) { 302 kevin.btn_tiroir_actu(); 303 } 304 }); 305 $(this).keypress(function (e) { 306 kevin.idleTime = 0; 307 if (kevin.tiroir_mode===0) { 308 kevin.btn_tiroir_actu(); 309 } 310 }); 311 312 function timerIncrement() { 313 kevin.idleTime = kevin.idleTime + 1; 314 } 315 316 317 318 319 320 321 322 323 324 325 326// eof
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.