Pregunta

Estoy trabajando en un motor de juego simple en Javascript (una locura, lo sé). Captura de pantalla de Opera: http://img406.imageshack.us/img406/5818/gamek.jpgAunque parece un motor de mosaicos, en realidad está basado en objetos;cada fila o columna de bloques grises es un único <div>, ubicado en relación con el área de visualización (cuadro con borde rojo).El área de visualización tiene desbordamiento:oculto, por lo que los objetos no se muestran fuera de él.

Sin embargo, Opera sigue sumando las alturas completas de estos objetos a la altura total de la página, aunque la mayor parte está recortada.Es curioso porque no se muestra ninguna barra de desplazamiento y el contorno azul alrededor del elemento <html> no se mueve hacia abajo (ni si lo coloco en el elemento <body>).Pero cuando presiono la flecha hacia abajo, la página se desplaza hacia abajo, hasta que la parte inferior de esos objetos aparezca en la pantalla, aunque estén recortados.Puedo decir que este es el caso porque eliminar esos objetos resuelve el problema y, a medida que me muevo hacia el sur en el juego, la página se desplaza hacia arriba, ya que los objetos se mueven hacia arriba y, por lo tanto, reducen la altura de la página.

Estoy usando Opera 10, pero tuve el mismo problema con 9.Firefox lo maneja muy bien.¿Cómo solucionaría o solucionaría este problema?No se me ocurre ningún truco de CSS que lo haya logrado, y llamar a scroll(0,0) en cada cuadro es aún peor: la página salta al "abajo" y luego regresa a la parte superior.

¿Fue útil?

Solución

es un error conocido en Opera que puede desplazarse al contenido que está destinado a desbordarse: oculto.

Ahora, si maneja el evento keypress con JavaScript y llama a event.preventDefault () para presionar las teclas de flecha, evitará el desplazamiento. (No funciona para evitar la acción predeterminada del evento keydown, debe presionarse una tecla). ¿Eso ayuda?

Otros consejos

¿Este problema también está ocurriendo en el safari? Si es así, podría ser un error técnico específico de WebKit.

O tal vez especificar un max-height para ese elemento podría evitar que ese objeto cambie el tamaño de la ventana de su navegador.

También el código fuente también sería bueno =)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top