Pergunta

Eu estou trabalhando em um motor de jogo simples em JavaScript (loucura, eu sei.) Screenshot do Opera: http://img406.imageshack.us/img406 /5818/gamek.jpg Embora pareça um motor de telha, é realmente baseado em objeto; cada linha ou coluna de blocos de cinza é um único

, posicionado em relação à área de visualização (caixa com borda vermelha). A área de visualização tem overflow:. Escondida, de modo que os objetos não mostrar fora dele

No entanto, o Opera ainda está adicionando alturas completos desses objetos para a altura total da página, embora a maior parte dele é cortado. É curioso, porque não mostra barra de rolagem, e o contorno azul em torno do elemento não se move para baixo (nem se eu colocá-lo no elemento ). Mas quando eu pressionar a seta para baixo, a página rola para baixo, até que o fundo desses objetos seria na tela, mesmo que eles estão cortadas. Eu posso dizer este é o caso, porque removendo os objetos resolve o problema, e como eu mover para o sul no jogo, a página rola backup, uma vez que os objetos estão se movendo para cima e, assim, reduzindo a altura da página.

Eu estou usando o Opera 10, mas teve o mesmo problema com 9. alças Firefox isso muito bem. Como eu quer resolver ou contornar esse problema? Sem truques CSS eu posso pensar tem feito isso, e chamando de rolagem (0,0) cada quadro é ainda pior -. A página salta para o "fundo", em seguida, voltar ao topo

Foi útil?

Solução

é um erro conhecido no Opera que você pode rolar para o conteúdo que está destinado a ser overflow:. Escondida

Agora, se você lidar com o keypress evento com JavaScript e chamar event.preventDefault () para pressionamento de teclas de seta, vai evitar a rolagem. (Não funciona para impedir a ação padrão do evento keydown, deve ser premida). Isso ajuda?

Outras dicas

Esta questão está acontecendo em safari bem? Se assim que poderia ser uma falha WebKit específico.

Ou talvez especificando um max-height para esse elemento poderia impedir esse objeto de redimensionar a janela do navegador.

Também código-fonte seria muito bom =)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top