JavaScript и IE7 - Почему мой * .onload = function () {} не срабатывает?

У меня есть галерея, которую я быстро закодировал для небольшого сайта, и в Firefox 3 и Safari 3 все работает нормально. Но когда я тестирую свой старый лучший друг IE7, кажется, что он не запускает imageVar.onload = function () {// здесь код} .. который я хочу использовать, чтобы остановить эффект загрузки и загрузить изображение.

Пожалуйста, запомни...

  • Я знаю, что эскизы - это просто уменьшенная версия более крупных изображений. Когда изображения будут завершены клиентом, я создам соответствующие эскизы.
  • Это моя первая попытка по большей части избавиться от процедурного JavaScript ... так что, пожалуйста, не торопитесь и любезно дайте мне знать, где мой код - отстой!
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
2 472
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Поддержка кроссбраузерных событий не так проста из-за различий в реализации. Поскольку вы используете jQuery на своем сайте, вам лучше использовать его методы событий для нормализации поддержки браузером:

вместо:

 window.load = function(){ 
      //actions to be performed on window load
 }

 imageViewer.image.onload = function(){ 
     //actions to be performed on image load
 }

Делать:

$(window).load(function(){ 
    //actions to be performed on window load
});

 $(imageViewer.image).load(function(){ 
      //actions to be performed on image load
 });

Странно это, часть галереи сейчас работает ... щелчок по миниатюрам некоторых изображений заставляет изображение появляться справа, но не на миниатюрах других изображений. Странно звучит что ли? Большое спасибо за ваш вклад.

alex 21.11.2008 03:27
Ответ принят как подходящий

Для успешного использования Image.onload необходимо зарегистрировать метод обработчика событий до того, как будет установлен атрибут src.

Связанная информация в этом вопросе:

Обратный вызов Javascript для загрузки изображений

Я добавил ссылку на ответ, который включает пример фрагмента.

keparo 21.11.2008 03:30

Просто чтобы добавить к предложению Эрана использовать встроенные обработчики событий jQuery, вы можете запускать код, когда документ загружен и DOM создается, но до загрузки изображений с помощью:

$(document).ready(function(){
   //your code
});

Другие вопросы по теме