Eu tenho um link que começa com uma imagem de plano de fundo e depois muda ao passar o mouse para outro. Ambas as imagens de fundo são definidas no CSS. Meus navegadores (qualquer um deles) não parecem carregar a imagem em foco até você realmente passar o mouse. Mas você acaba com uma imagem em branco por vários segundos (na minha conexão muito lenta) que leva para carregar a nova. Existe uma maneira de incentivar o navegador a pré-carregar a imagem em foco, para que o tempo de atraso não ocorra em foco?
14
Eu realmente não gosto da solução javascript - é confusa, difícil de manter e, é claro, falha completamente quando o JS está desativado.
A solução moderna é usar CSS Sprites - experimente, acredite, você se perguntará por que nunca fez isso antes;)
fonte
Encontrei este link sobre como pré-carregar imagens usando CSS puro:
http://www.thecssninja.com/css/even-better-image-preloading-with-css2
E funcionou para mim quando preciso alterar as diferentes imagens de fundo ao passar o mouse.
fonte
Adicione isso acima do seu CSS:
Se você seguir a rota do sprite, como danp sugere que você ainda tenha um problema ao carregar o sprite antes que seja necessário. Disse que eu amo sprites; para fazê-los facilmente, uso a ferramenta spriteme de Steve Souders:
fonte