Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.09.2009, 11:52
dvar
 
Сообщений: n/a

offsetWidth ie
<div id="rrr"></div>
<img src="images/test.png" id="iii" />

<script type="text/javascript">
var im = new Image();				
		im.src = 'images/test.png';
		document.getElementById('rrr').insertBefore(im, null); 
		alert(im.offsetWidth); // 105 ?
alert(document.getElementById('iii').offsetWidth); // 100


</script>
если элемент создается динамически в ie offsetWidth показывает больше чем надо( ширина 100 а он показывает 105
Ответить с цитированием
  #2 (permalink)  
Старый 16.09.2009, 11:57
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Определять размеры изображени нужно после их загрузки (img.onload). Обработчик события должен быть назначен до того, как элемент будет добавлен в документ.
Ответить с цитированием
  #3 (permalink)  
Старый 16.09.2009, 12:10
dvar
 
Сообщений: n/a

все происходит после загрузки, и onload и complete проверяется, все загружено) только вот значения свойства в ие больше, я вот хотел спросить есть ли такая проблема ie неправильно определять размеры? как это побороть, может с форматом png не дружит...
Ответить с цитированием
  #4 (permalink)  
Старый 16.09.2009, 12:17
dvar
 
Сообщений: n/a

експлореру png изображение не нравиться, другие нормально показывает(
Ответить с цитированием
  #5 (permalink)  
Старый 16.09.2009, 12:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Сообщение от dvar Посмотреть сообщение
может с форматом png не дружит...
проблема чтоли с другим форматом опробовать?
А все margin, padding и border в CSS сбросили?
Ответить с цитированием
  #6 (permalink)  
Старый 16.09.2009, 12:27
dvar
 
Сообщений: n/a

вот попробовал потестить несколько десятков png изображений, в некоторых ie ставит на несколько px больше а в других меньше,
стили все убраны * {margin:0; padding:0; border:0; font-size:0; line-height:0;}
Ответить с цитированием
  #7 (permalink)  
Старый 16.09.2009, 12:39
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Ну значит очередной фокус IE
Ответить с цитированием
  #8 (permalink)  
Старый 16.09.2009, 12:44
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Если не почистить png-рисунок с прозрачностью от дополнительной инфы, то в IE он может смотреться темнее, чем в других браузерах, может и здесь это поможет.
Ответить с цитированием
  #9 (permalink)  
Старый 16.09.2009, 12:45
dvar
 
Сообщений: n/a

когда элемент создается через new Image, html код получается такой: <img src=""> а если документ с доктайпом надо правильно тег закрывать <img src="" /> и ie нормально показывает начинает offset, так что пропишу прям так)
Ответить с цитированием
  #10 (permalink)  
Старый 17.09.2009, 21:36
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а можно ссылку на страничку или прикрпеить к сообщению все нужные файлы? И какая версия ie? Потому что у меня в ie6, 8 работает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск