Jump to content


Photo

Défilement des membres de la famille


  • Please log in to reply
1 reply to this topic

#1 Alfanor

Alfanor

    Advanced Member

  • Members
  • PipPipPip
  • 160 posts

Posted 07 December 2013 - 11:52 PM

Bonsoir à tous,

Nous nous sommes un peu amusés avec Orandin et Draga à essayer de faire planter le défilement des membres de la famille et nous avons trouvé deux problèmes :

1- Si l'on utilise les numéros de page, la flèche droite se bloque, on peut la débloquer en utilisant la flèche de gauche.

2- Si l'on clique directement sur la page numéro 3 puis que l'on tente d'accéder à la page 2 à l'aide de la flèche gauche, celle-ci reviendra immédiatement à la page 1. De plus, il nous est permis de la sélectionner une seconde fois puisque le script considère qu'on se trouve alors sur la page 2.

Le premier problème semble venir tout simplement du fait que le numéro de page, lorsque l'on clique sur un numéro et non une flèche, est récupéré en tant que chaîne et non en tant qu'entier, du coup lorsque l'on tente d'utiliser la flèche de droite, le numéro de page est concaténé avec + 1, entraînant un rejet automatique par la condition vérifiant que le numéro de page demandé n'est pas plus grand que le numéro de la dernière page.

Ensuite, après avoir un peu réfléchi en regardant le fonctionnement du code du fichier ecranFamille.js, nous avons compris que le problème exposé au point 2 vient de l'absence de multiplicateur dans la fonction. En effet, prenons le cas d'un décalage de la page 1 à la page 3 via les numéros de page :

/* 232 */
if(numeroPage>self.pageEnCours)
positionAAtteindre = positionActuelle + largeurContenurListeMembres; <- ici on ne décale toujours que d'une page !


Le même problème existe bien entendu dans l'autre sens. Du même coup, le problème qui fait que l'on peut cliquer deux fois sur la flèche gauche alors même qu'un clic nous fait revenir sur la page 1 vient tout bonnement de la mise à jour du numéro de page :

/* 249 */
// On enregistre le changement de page maintenant qu'il a bien été effectué :
self.pageEnCours = numeroPage; <- Ici on enregistre la page 3, sauf que le décalage opéré correspond à la page 2, on peut donc décrémenter deux fois, même si ça ne changera rien en terme de position


De plus, nous avons croisé, ligne 218, un return auquel il manque le ";".

Voilà, donc normalement on a trouvé les diverses sources possibles des problèmes exposés, en espérant que ce soit bien ça ^^

Signé, les alphatesteurs overzélés ! (cf Jdw)

« Un des maux qui arrivent d'être désarmé est que l'on devient méprisable. »
[ Nicolas Machiavel ] - Le Prince


#2 levan

levan

    Lévan

  • Administrators
  • 419 posts

Posted 08 December 2013 - 08:31 AM

Tout cet écran est pourri, on va le refaire.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users