PageSourceSearch

https://kevinstaut.com/assets/components/kevin/v002/js/ks-actualites.js

js kevinstaut.com collected 2026-10-02 22:20:09 UTC 8,645 bytes, 326 lines download raw bytes

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.