$(document).height() e Chrome? Use o $(window).load()

  • Last modified: 5 de agosto de 2024
  • Reading time: 5 mins

Acabei de ter um problema que me tomou mais tempo do que o necessário. As alturas retornadas pelo método $(document).height() do JQuery eram diferentes no Firefox e no Chrome (no IE 7 também deu problema), quando chamadas dentro do $(document).ready(). Pesquisando, descobri que isso acontece porque o $(document).ready() é carregado quando o DOM está pronto e não necessariamente todos os elementos. Para executar alguma coisa depois que absolutamente tudo está no lugar o jeito é usar o $(window).load().

Pro que eu precisei, ficou assim:

JavaScript
$(window).load(function(){
	$("#menu").css('width', $(document).height());
});

Dica rápida, mas “se eu soubesse antes o que sei agora, não seria esse ser que chora” ou “odeio perder tempo com babaquice”.

Este post tem 7 comentários

  1. fye flourigh

    ola cara, você sabe me dizer como capturo o higth atual, insiro em uma variavel, somo uma quantia e disparo no scrolltotop?

    já fiz os scrolltotop legal, mas queria que ele subisse gradativo sem utilizar divs para isso, valew pelo post cara

  2. fye flourigh

    ola cara, você sabe me dizer como capturo o higth atual, insiro em uma variavel, somo uma quantia e disparo no scrolltotop?

    já fiz os scrolltotop legal, mas queria que ele subisse gradativo sem utilizar divs para isso, valew pelo post cara

  3. Bruno

    E onde eu jogo esse código ai? Ps.: Sou iniciante…

    1. Felipe Elia

      Dentro de algum arquivo js ou dentro de alguma tag script.

  4. Diego Schell Fernandes

    Parabéns, eu estava usando o Chrome com o $(document).height() para e o mesmo me retornava valores diferentes quando atualizava a página.

    Com o $(window).load ele me retorna o mesmo valor em todas vezes que atualizo.

  5. Pedro

    Dica valiosa, somente obtida por quem se ferrou horas tentando solucionar algo que não deveria ter dado problema..rs

    Show cara, continua com os posts.

Os comentários estão encerrados.