Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.10.2009, 14:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Leksiy
но хотелось бы вызывать функцию используя событие load из библиотеки jquery.
Свойство complete вам в помощь.
Ответить с цитированием
  #12 (permalink)  
Старый 19.10.2009, 15:02
Новичок на форуме
Отправить личное сообщение для Leksiy Посмотреть профиль Найти все сообщения от Leksiy
 
Регистрация: 18.10.2009
Сообщений: 8

Большое спасибо. Вашим способом работает как часы. Хотя я выполнял все инструкции по документации jquery всетаки мне кажется что событие load еще сырое, сейчас я заметил, что и в IE не всегда срабатывает, а в firefox срабатывает всегда. И еще вопрос... Как проверить загрузку div со всеми вложенными в нее картинками?
Ответить с цитированием
  #13 (permalink)  
Старый 19.10.2009, 15:17
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Leksiy
событие load еще сырое
Нормально с ним все, просто картинки иногда могут грузиться мгновенно.
Сообщение от Leksiy
Как проверить загрузку div со всеми вложенными в нее картинками?
div или есть, или его нет. У него нет состояния загрузки.
Ответить с цитированием
  #14 (permalink)  
Старый 19.10.2009, 15:33
Новичок на форуме
Отправить личное сообщение для Leksiy Посмотреть профиль Найти все сообщения от Leksiy
 
Регистрация: 18.10.2009
Сообщений: 8

complete на сколько я знаю - это событие получения AJAX ответа
Ответить с цитированием
  #15 (permalink)  
Старый 19.10.2009, 15:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Это не событие, а свойство объекта img.
Ответить с цитированием
  #16 (permalink)  
Старый 19.10.2009, 20:11
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Leksiy
событие load еще сырое
пользователи jQuery хотят, чтобы событие load возникало один раз после загрузки изображения, и не важно, что изображение давным-давно загружено, а вот только сейчас мы назначили обработчик
Ответить с цитированием
  #17 (permalink)  
Старый 19.10.2009, 22:47
Новичок на форуме
Отправить личное сообщение для Leksiy Посмотреть профиль Найти все сообщения от Leksiy
 
Регистрация: 18.10.2009
Сообщений: 8

Вот, что у меня получилось. Событие onload объекта img выполняется когда картинка начнет загружаться. Свойство complete объекта img принимает значение true когда картинка загружена, но в некоторых браузерах принимает значение true всегда даже когда картинка не загружена. В документации jQuery сказано, что событие load на картинку выполнится после загрузки картинки, но это срабатывает не всегда. И вот, что я сделал…
На картинке в событии load написал следующее:
<img id=’my_img’ src=’my_img.jpg’ onload=”$(‘#my_img’).bin(‘load’, my_function)”>
А в файле js описал мою функцию:
function my_function()
{
alert(‘Yes’);
}
И таким образом получилось, что моя команда alert всегда срабатывает после загрузки картинки, также при перезагрузке страницы. Это я проверил в IE6, IE7, Opera10, Firefox, Google Chrome, Safari, Только не проверил в Opera9. Ну и бог с ним.

Спасибо всем, кто помог мне в этой проблеме.
Ответить с цитированием
  #18 (permalink)  
Старый 20.10.2009, 01:37
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Leksiy
Свойство complete объекта img принимает значение true когда картинка загружена, но в некоторых браузерах принимает значение true всегда даже когда картинка не загружена.
можно поименно?

Сообщение от Leksiy
В документации jQuery сказано, что событие load на картинку выполнится после загрузки картинки, но это срабатывает не всегда.
в теме уже 5 раз прозвучало, что если load не срабатывает, значит обработчик был назначен после того, как картинка загрузилась. Допустим есть такой код
setTimout(function() {
  $('img').load(function() { alert(1); })
}, 60*60*1000);

должен ли сработать обработчик через час, если картинка загрузилась за пару секунд?
Ответить с цитированием
  #19 (permalink)  
Старый 20.10.2009, 08:43
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Leksiy
<img id=’my_img’ src=’my_img.jpg’ onload=”$(‘#my_img’).bin(‘load’, my_function)”>
В событии load у элемента навешивать у него обработчик события load. Такого трэша я еще не видел.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно программно вызвать событие documenta onafterupdate nikolay84 Events/DOM/Window 1 08.07.2009 02:13
Отловить событие изменения элемента pavl Events/DOM/Window 13 13.04.2009 14:00
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13
Событие OnLoad у iframe в IE milk3dfx Events/DOM/Window 2 16.02.2009 22:09
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40