Показать сообщение отдельно
  #6 (permalink)  
Старый 21.09.2009, 09:39
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от micscr
можно только по размерам картинки
не обратил внимания сразу
Сообщение от micscr
newimage.src=img.src
использовал бы уже загруженную.
далеко не факт, что картинка будет из кеша взята
я же написал, что гарантировать это нельзя.особенно, если вы не помещаете этот код в обработчик события onload рисунка-прелоадера
Сообщение от micscr
нужно backgroundImage передать строку
что-то вроде этого?
obj.style.backgroundImage='url("'+img.src+'")';

но загрузку из кеша гарантировать все равно нельзя
впрочем как и предзагрузку(что рисунок будет получен до того момента, как мы решим выяснить его размеры)
лучше всего делать так(на кеширование пофиг, но зато вычисление размеров будет верно работать когда на сервер поместите свой код)
function two()
{
       var obj=document.getElementById('yyy');// div - пункт меню
    if (obj) {
    var img=new Image();
	img.onload=function()
		{
		//тут рисунок уже гарантировано загружен, и можно выяснять его размеры
		//тут создается замыкание, и поэтому img продолжает быть видимым
		//alert(img.width); //- по умолчанию верные размеры
		//alert(img.height);
		obj.style.height=img.height+'px'; // Задаю ячейке
		obj.style.width=img.width+'px';  // верные размеры
		obj.style.backgroundImage='url("'+img.src+'")';// вставляю фон ячейке
		}
    img.src='bfon30.jpg'; // та картинка что нужна
    }
}
Ответить с цитированием