Opera Scrolls Page Unsichtbare Elemente
Frage
Ich bin in Javascript auf einem einfachen Spiel-Engine arbeitet (verrückt, ich weiß.) Screenshot von Opera: http://img406.imageshack.us/img406 /5818/gamek.jpg Obwohl es wie eine Fliese Engine sucht, ist es tatsächlich objektbasierte; Jede Zeile oder Spalte von grauen Blöcke ist eine einzelne
Allerdings Opera fügt noch diese volle Höhe der Objekte auf die gesamte Seitenhöhe, obwohl die meisten davon abgeschnitten wird. Es ist merkwürdig, weil keine Scrollbar zeigt, und die blaue Umrandung um das Element bewegt sich nicht nach unten (noch, wenn ich es auf dem
-Element setzen). Aber wenn ich den Pfeil nach unten drücken, um die Seite nach unten scrollt, bis der Boden dieser Objekte würden auf dem Bildschirm, auch wenn sie abgeschnitten sind. Ich kann sagen, dass dies der Fall ist, weil diese Objekte zu entfernen, das Problem löst, und als ich nach Süden im Spiel bewegen, zurück, um die Seite scrollt nach oben, da die Objekte bewegen sich wieder nach oben und damit die Seitenhöhe zu reduzieren.Ich bin mit Opera 10, hatte aber das gleiche Problem mit 9.em Firefox behandelt es einfach gut. Wie würde ich entweder zu lösen oder zu arbeiten, um dieses Problem? Kein CSS Trick ich denken kann, hat es getan, und rief Spirale (0,0) jeder Rahmen ist noch schlimmer -. Die Seite springt auf den „Boden“, dann wieder nach oben
Lösung
es ist ein bekannter Fehler in Opera, die Sie zum Inhalt blättern können, die als Überlauf gemeint. Versteckt
Wenn Sie nun die Griff keypress Ereignis mit JavaScript und rufen Event.preventDefault () für Pfeiltaste drückt, wird es eine Rolle verhindern. (Funktioniert nicht das KeyDown-Ereignis der Standardaktion zu verhindern, müssen keypress sein). Heißt das helfen?
Andere Tipps
Ist das Problem in Safari geschieht auch? Wenn ja könnte es ein WebKit spezifischer Glitch sein.
oder vielleicht einen max-height
für dieses Element spezifizieren könnte das Objekt verhindert, dass Ihre Browser-Fenster Größe ändern.
Auch Quellcode wäre auch nett =)