смена фоновой картинки у ссылки-фон мигает

  • Автор темы Автор темы Anna_Rise
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Anna_Rise

Участник
Топикстартер
Сообщения
6
Реакции
0
Добый день!
Такая проблема,есть ссылка.У нее есть фон-изображение,при наведении на ссылку фон изменяется,подгружается другое изображение.
Делала это сначала при помощи hover,но иногда фоновое изображение загружалось не сразу,а сначала мигает,буквально миллисекунду,потом нормально.
Потом попробовала onmouseover,onmouseout-все равно иногда мигает.Причем во всех браузерах.Наблюдается не всегда,но иногда бывает.
В хэдере есть скрипт
<script type="text/javascript">
$(document).ready(function(){
try{document.execCommand('BackgroundImageCache', false, true);}catch(e){};
</script>
который по идее устраняет это мигание,но это не срабатывает.
Я так понимаю что браузер подгружает изображение с сервера-от этого происходит мигание,подскажите пожалуйста как решить проблему!!!
 
Ответ: смена фоновой картинки у ссылки-фон мигает

может, конечно уже не во время...
нужно сипользовать не две картинки, а одну. тоесть берете две картинки для :link и :hover, обединяете их в одну большую. для :link у вас фон с background-position: 0 0, а для :hover background-position:0 -30px, к примеру. Таким образом, у вас для обоих типов ссылок бутет использована одна картинка, которая не будет подгружаться при наведении.
Чтобы через JS чтоб фон не моргал, изображения нужно подгружать до начала событий с мышью.

Как то так.

Код:
function MM_preloadImages() { 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

Для предзагрузки изображений прописываем
<body onload="MM_preloadImages('путь к файлу1' , 'путь к файлу1')">

//скрипт стырен с DW.
 
Статус
Закрыто для дальнейших ответов.