Bonjour � tous,
On m'a confi� la mission de faire d�rouler des actus (r�cup�r�es dans ma BDD) dans un petit encart pour pouvoir les incorporer sur diff�rentes pages.
Pour le moment, un code est d�j� pr�sent : il va stocker les actualit�s dans un tableau : ejs_scroll_message[<?= $i ?>] puis les afficher...
Ce code est apparement assez r�pandu sur la toile :
Par contre, ce code n'est pas forc�ment fonctionnel sous tous les navigateurs, et poss�de pas mal de bug d'affichage.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 ejs_scroll_largeur = 200; ejs_scroll_hauteur = 150; /* ejs_scroll_bgcolor = '#99181B';*/ ejs_scroll_bgcolor = ''; /* Mettre ici le chemin de l'image de fond */ ejs_scroll_background = ""; /* Mettre ici le temps en secondes */ ejs_scroll_pause_seconde = 5; function d(texte) { document.write(texte); } d('<DIV ID=ejs_scroll_relativ STYLE="position:relative;width:'+ejs_scroll_largeur+';height:'+ejs_scroll_hauteur+';background-color:'+ejs_scroll_bgcolor+';background-image:url('+ejs_scroll_background+')">'); d('<DIV ID=ejs_scroll_cadre STYLE="position:absolute;width:'+(ejs_scroll_largeur-8)+';height:'+(ejs_scroll_hauteur-8)+';top:4;left:4;clip:rect(0 '+(ejs_scroll_largeur-8)+' '+(ejs_scroll_hauteur-8)+' 0)">'); d('<div id=ejs_scroller_1 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:0;" CLASS=texte_blanc>'+ejs_scroll_message[0]+'</DIV>'); d('<div id=ejs_scroller_2 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:'+ejs_scroll_hauteur+';" CLASS=texte_blanc>'+ejs_scroll_message[1]+'</DIV>'); d('</DIV></DIV>'); ejs_scroll_mode =1; ejs_scroll_actuel = 0; function ejs_scroll_start() { if(ejs_scroll_mode == 1) { ejs_scroller_haut = "ejs_scroller_1"; ejs_scroller_bas = "ejs_scroller_2"; ejs_scroll_mode = 0; } else { ejs_scroller_bas = "ejs_scroller_1"; ejs_scroller_haut = "ejs_scroller_2"; ejs_scroll_mode = 1; } ejs_scroll_nb_message = ejs_scroll_message.length-1; if(ejs_scroll_actuel == ejs_scroll_nb_message) ejs_scroll_suivant = 0; else ejs_scroll_suivant = ejs_scroll_actuel+1; if(document.getElementById) document.getElementById(ejs_scroller_bas).innerHTML = ejs_scroll_message[ejs_scroll_suivant]; ejs_scroll_top = 0; if(document.getElementById) setTimeout("ejs_scroll_action()",ejs_scroll_pause_seconde*1000) } function ejs_scroll_action() { ejs_scroll_top -= 1; document.getElementById(ejs_scroller_haut).style.top = ejs_scroll_top; document.getElementById(ejs_scroller_bas).style.top = ejs_scroll_top+ejs_scroll_hauteur; if((ejs_scroll_top+ejs_scroll_hauteur) > 0) setTimeout("ejs_scroll_action()",10) else ejs_scroll_stop() } function ejs_scroll_stop() { ejs_scroll_actuel = ejs_scroll_suivant; ejs_scroll_start() } window.onload = ejs_scroll_start;
Plutot que d'essayer de debugger ce code, je pr�f�rerais savoir s'il n'existait pas d'�quivalent en JS (par exemple avec jQuery?) pour effectuer ce genre de traitement?
Je pr�cise aussi que je suis une buse en JS![]()
Partager