Преамбула... Есть функция, написанная на JavaScript.
Что она делает... Она просто делает замену картинки... То есть, имеется ряд изображений с именами типа: velesb_cyan.jpg, velese_blue.jpg и т.д. Между этими изображениями функция и переключается. Вызывается она по событию onclick:
Теперь в реализацию углубимся... Внутри функции создаётся объект Image. Свойство src этого объекта переключается на файл изображения, путь к изображению формируется конкатенацией переменных (из функции видно, что к чему). Переключение свойства заставляет загрузить изображение в кеш (без отображения на экране). Потом по айдишнику другой картинки идёт переключение свойства src на картинку из кеша. Таким образом картинка подгружается в фоне, а потом отображается.
Теперь внимание вопрос: на всех браузерах семейства Windows всё работает отлично (в Firefox тоже), но вот в Linux (ALT Linux) любой браузер некорректно это всё переваривает - картинки на экране нету. А Opera под Linux вообще выпадает в соплях - закрывает все открытые окна и падает. Кто подскажет в чём проблема?
Решение простое - писать напрямую, то есть:
Просто интересно, где этот глюк закрался?
Код:
function change_image (model, name) {
var base_url = "http://localhost/imgs/apparat/";
var img_obj = new Image();
img_obj.src = base_url + model + '_' + name + '.jpg';
document.getElementById(model + '_img').src = img_obj.src;
}
Что она делает... Она просто делает замену картинки... То есть, имеется ряд изображений с именами типа: velesb_cyan.jpg, velese_blue.jpg и т.д. Между этими изображениями функция и переключается. Вызывается она по событию onclick:
Код:
onclick="change_image('velese', 'blue');
Теперь в реализацию углубимся... Внутри функции создаётся объект Image. Свойство src этого объекта переключается на файл изображения, путь к изображению формируется конкатенацией переменных (из функции видно, что к чему). Переключение свойства заставляет загрузить изображение в кеш (без отображения на экране). Потом по айдишнику другой картинки идёт переключение свойства src на картинку из кеша. Таким образом картинка подгружается в фоне, а потом отображается.
Теперь внимание вопрос: на всех браузерах семейства Windows всё работает отлично (в Firefox тоже), но вот в Linux (ALT Linux) любой браузер некорректно это всё переваривает - картинки на экране нету. А Opera под Linux вообще выпадает в соплях - закрывает все открытые окна и падает. Кто подскажет в чём проблема?
Решение простое - писать напрямую, то есть:
Код:
document.getElementById(model + '_img').src = base_url + model + '_' + name + '.jpg';