Bonjour,
J'ai fait une scrollbar en utilisant le code de Tardiveau extrait de son bouquin mais il y a la fonction associé à la flèche pour remonter qui bugue.
Voir là : http://ninachani.net/chemin/pour_web
Il faut cliquer sur le titre puis après sur la vignette. En fait tout semble bien se passer mais si on remonte complètement avec la flèche qui va vers le haut, l'ascenseur se bloque avant le haut alors que le texte est déjà à la 1ère ligne. De même, si la 1ère chose qu'on fait est de cliquer sur la flèche vers le haut alors que le texte est sur la 1ère ligne, l'ascenseur descend au même endroit que là où il bloque en remontant.
Le texte est un .txt qui se charge dynamiquement à partir d'un fichier externe.
Ca bugue d'ailleurs aussi dans l'exemple de Tardiveau puisque si je mets mon texte dans son anim' ça fait la même chose. Sur sa version ça ne se voit pas parce que le texte ne fait pas du tout la même taille.
Je vous mets le code associé à la scrollbar :
Quelqu'un pourrait-il m'aider parce que je ne comprends pas du tout, du tout (je suis là-dessus depuis des jours). En plus je ne sais pas pourquoi ça me fait ça seulement en remontant.
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 bt_descendre.onPress = function() { this.onEnterFrame = function() { coefAscenseur = (zoneDeTexte_inst.scroll/zoneDeTexte_inst.maxscroll); // 134 pixels c'est la position de départ de l'ascenseur (qd il est en haut) et 503 la hauteur de la barre - la hauteur de l'ascenseur : l'espace où l'ascenseur peut se déplacer ascenseur._y = 134+(503*coefAscenseur); zoneDeTexte_inst.scroll++; } } bt_descendre.onRelease = bt_descendre.onReleaseOutside=function () { delete this.onEnterFrame; } bt_monter.onPress = function() { this.onEnterFrame = function() { coefAscenseur = (zoneDeTexte_inst.scroll/zoneDeTexte_inst.maxscroll); ascenseur._y = 134+(503*coefAscenseur); zoneDeTexte_inst.scroll--; } } bt_monter.onRelease = bt_monter.onReleaseOutside=function () { delete this.onEnterFrame; } ascenseur.onPress = function() { startDrag(this, false, 970, 134, 970, 637); this.onEnterFrame = function() { zoneDeTexte_inst.scroll = zoneDeTexte_inst.maxscroll*((this._y-134)/503); } } ascenseur.onRelease = ascenseur.onReleaseOutside=function () { stopDrag(); delete this.onEnterFrame; }
Partager