Question

Je travaille sur un moteur de jeu simple en Javascript (fou, je sais.). Capture d'écran d'Opera: http://img406.imageshack.us/img406 /5818/gamek.jpg Bien que cela ressemble à un moteur de tuiles, il est en réalité basé sur des objets; chaque ligne ou colonne de blocs gris correspond à un seul < div > ;, positionné par rapport à la zone de visualisation (zone avec une bordure rouge). La zone d’affichage présente un débordement: masqué, les objets ne sont donc pas visibles en dehors de celle-ci.

Cependant, Opera ajoute toujours la hauteur totale de ces objets à la hauteur totale de la page, même si la plupart de celle-ci est tronquée. C’est curieux, car aucune barre de défilement n’apparaît et le contour bleu autour du & Lt; html & Gt; L'élément ne se déplace pas vers le bas (ni si je le mets sur l'élément < body >)). Mais lorsque j'appuie sur la flèche vers le bas, la page défile vers le bas, jusqu'à ce que le bas de ces objets soit affiché à l'écran, même s'ils sont tronqués. Je peux dire que c’est le cas, car la suppression de ces objets résout le problème et, au fur et à mesure que je me déplace vers le sud du jeu, la page recule, car les objets remontent et réduisent ainsi la hauteur de la page.

J'utilise Opera 10, mais j'ai eu le même problème avec 9. Firefox le gère très bien. Comment pourrais-je résoudre ou contourner ce problème? Je ne pense pas qu'une supercherie CSS l'ait fait et appeler Scroll (0,0) à chaque image est encore pire: la page passe au & «Bas &»; Puis au haut.

Était-ce utile?

La solution

C’est un bogue connu d’Opera qui vous permet de faire défiler le contenu qui doit déborder: caché.

Désormais, si vous gérez l'événement presse avec JavaScript et appelez event.preventDefault () pour les pressions sur les touches de direction, cela empêchera le défilement. (Ne fonctionne pas pour empêcher l'action par défaut de l'événement keydown, vous devez appuyer dessus). Est-ce que cela vous aide?

Autres conseils

Ce problème se produit-il également lors d’un safari? Si tel est le cas, s'agit-il d'un problème spécifique à WebKit?

Ou peut-être que spécifier un max-height pour cet élément pourrait empêcher cet objet de redimensionner la fenêtre de votre navigateur.

Aussi, le code source serait bien aussi =)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top