В Chrome и IE это отлично работает для меня, чтобы предварительно загрузить изображения и поменять их местами при наведении курсора.Div "preload" не имеет высоты / ширины, так как изображения установлены на фон, поэтому он не отображается на странице, и изображения готовы, когда вы хотите поменять их местами при наведении.(вам, очевидно, придется установить высоту / ширину якорей. Я просто показываю здесь минимальный CSS, чтобы прояснить ситуацию)
HTML:
<div id="preload"></div>
<div id="icons">
<a href="http://..." class="social-button-1"></a>
<a href="http://..." class="social-button-2"></a>
<a href="http://..." class="social-button-3"></a>
</div>
CSS:
#preload {background: url('images/pic1b.png'), url('images/pic2b.png'), url('images/pic3b.png');}
.social-button-1 {background: url('images/pic1a.png');}
.social-button-2 {background: url('images/pic2a.png');}
.social-button-3 {background: url('images/pic3a.png');}
.social-button-1:hover {background: url('images/pic1b.png');}
.social-button-2:hover {background: url('images/pic2b.png');}
.social-button-3:hover {background: url('images/pic3b.png');}