Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: onload и IE. дубль функции
 
 автор: LFFATE   (16.10.2008 в 16:29)   письмо автору
 
 

Проблема в том, что есть некоторый объект img, которому сначала присваивается одно изображение, затем другое. После присвоения каждого изображения идет проверка на onload. Проблема в том, что после присвоения src одной картинки, скажем, pic_1.jpg onload работает нормально, а после того, как я присваиваю src pic_2.jpg, а затем снова pic_1.jpg - cвойство onload в ie уже не работает и действие не происходит.
Как это красиво исправить? хочется и кэширование сохранить и проблему решить. Какие идеи?

  Ответить  
 
 автор: PAT   (16.10.2008 в 17:19)   письмо автору
 
   для: LFFATE   (16.10.2008 в 16:29)
 

Странная проблема.
Её быть не должно в принципе.

  Ответить  
 
 автор: Волки   (16.10.2008 в 19:27)   письмо автору
 
   для: LFFATE   (16.10.2008 в 16:29)
 

onload это одоразовое событие, возникающее в случае полной загрузки страницы.
замена src в картинках не будет его генерировать.

  Ответить  
 
 автор: LFFATE   (16.10.2008 в 19:41)   письмо автору
 
   для: Волки   (16.10.2008 в 19:27)
 

Читайте, пожалуйста, внимательнее постановку задачи. Если менять неограниченное количество раз параметр src, то onload работает. если возвращаться к одному из уже перечисленных параметров, то ТОЛЬКО тогда не работает и ТОЛЬКО в IE.

А проблему я только что уже решил.

// НЕ ПРАВИЛЬНО:
var image = new Image();
image.src = 'image.jpg';
image.onload = function() {
// sometimes called
alert('image loaded');
};

// ПРАВИЛЬНО:
var image = new Image();
image.onload = function() {
// always called
alert('image loaded');
};
image.src = 'image.jpg';

источник: http://www.thefutureoftheweb.com

  Ответить  
 
 автор: LFFATE   (16.10.2008 в 23:27)   письмо автору
 
   для: LFFATE   (16.10.2008 в 19:41)
 

[jnя проблема решилась не полностью, ибо теперь нельзя получить данные о текущем изображении, ибо оно, по сути, еще не присвоено.

  Ответить  
 
 автор: Nytrogen   (16.10.2008 в 19:41)   письмо автору
 
   для: Волки   (16.10.2008 в 19:27)
 

>onload это одоразовое событие, возникающее в случае полной загрузки страницы.

Прежде чем писать такие выводы, лучше протестировать, а то сейчас будут разборки с PAT'ом =). Так вот, если обработчик определён для тега IMG, то он вызывается, когда загружена эта картинка.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования