Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> онлоад наступает раньше, чем загрузятся картинки 
:(
    Опции темы
Pokoinik
Дата 24.10.2007, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

Репутация: 1
Всего: 3



короче суть проблемы делаю предзагрузку изображений,
и почему то онлоад срабатывает до загрузки всех картинок
Код

<script type="text/javascript">
//<![CDATA[
function getAbsolutePos(el) {
    var r = { x: el.offsetLeft, y: el.offsetTop };
    if (el.offsetParent) {
        var tmp = getAbsolutePos(el.offsetParent);
        r.x += tmp.x;
        r.y += tmp.y;
    }
    return r;
}
// загружаем картинки
    var images = new Array();
    images[0] = new Image(176, 94);
    images[0].src = '/images/bpic1_r.jpg';
    images[1] = new Image(176, 94);
    images[1].src = '/images/bpic2_r.jpg';
    images[2] = new Image(176, 94);
    images[2].src = '/images/bpic3_r.jpg';
    images[3] = new Image(176, 94);
    images[3].src = '/images/bpic4_r.jpg';
    images[4] = new Image(176, 94);
    images[4].src = '/images/bpic5_r.jpg';
    images[5] = new Image(176, 94);
    images[5].src = '/images/bpic1.jpg';
    images[6] = new Image(176, 94);
    images[6].src = '/images/bpic2.jpg';
    images[7] = new Image(176, 94);
    images[7].src = '/images/bpic3.jpg';
    images[8] = new Image(176, 94);
    images[8].src = '/images/bpic4.jpg';
    images[9] = new Image(176, 94);
    images[9].src = '/images/bpic5.jpg';
// функция, котороя срабатывает по онлоад
    function init() {
// ставим картинки на место
        for(var i=1;i<6;i++) {
            var img = document.getElementById('botproj'+i);
            img.src = images[i+4].src;
        }
/*
А теперь фишка,
если убрать следующий алерт, работает везде, кроме шестого осла (в седьмом пашет),
да и сами картинки появляются уже после того как выпадает алерт
*/
        alert('Stop!');
        var botproj1 = getAbsolutePos(document.getElementById('botproj1'));
        var botproj2 = getAbsolutePos(document.getElementById('botproj2'));
        var botproj3 = getAbsolutePos(document.getElementById('botproj3'));
        var botproj4 = getAbsolutePos(document.getElementById('botproj4'));
        var botproj5 = getAbsolutePos(document.getElementById('botproj5'));
        $('<img onmouseout="$(\'#botproj11\').fadeOut(800);" src="/images/bpic1_r.jpg" id="botproj11" style="width:176;height:94px;position:absolute;z-index:100;top:'+botproj1.y+'px;left:'+botproj1.x+'px;" />').hide().appendTo('#botproj111');
        $('<img onmouseout="$(\'#botproj22\').fadeOut(800);" src="/images/bpic2_r.jpg" id="botproj22" style="width:176;height:94px;position:absolute;z-index:100;top:'+botproj2.y+'px;left:'+botproj2.x+'px;" />').hide().appendTo('#botproj222');
        $('<img onmouseout="$(\'#botproj33\').fadeOut(800);" src="/images/bpic3_r.jpg" id="botproj33" style="width:176;height:94px;position:absolute;z-index:100;top:'+botproj3.y+'px;left:'+botproj3.x+'px;" />').hide().appendTo('#botproj333');
        $('<img onmouseout="$(\'#botproj44\').fadeOut(800);" src="/images/bpic4_r.jpg" id="botproj44" style="width:176;height:94px;position:absolute;z-index:100;top:'+botproj4.y+'px;left:'+botproj4.x+'px;" />').hide().appendTo('#botproj444');
        $('<img onmouseout="$(\'#botproj55\').fadeOut(800);" src="/images/bpic5_r.jpg" id="botproj55" style="width:176;height:94px;position:absolute;z-index:100;top:'+botproj5.y+'px;left:'+botproj5.x+'px;" />').hide().appendTo('#botproj555');
    }
//    $(document).ready(function() {
        
//    });
//]]>
</script>

полный код:
ccf-belarus.org


Это сообщение отредактировал(а) Pokoinik - 24.10.2007, 11:45


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
vasac
Дата 24.10.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



И правильно. Он срабатывает после загрузки всех статично вставленных в HTML ресурсов.
Динамически созданные <IMG>, <script> и т.п. на onLoad не влияют
PM WWW   Вверх
Pokoinik
Дата 25.10.2007, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

Репутация: 1
Всего: 3



vasac, а как узнать загрузились картинки или нет?


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
vasac
Дата 25.10.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Повесить на них onLoad.
Либо проверять через время width или hight
PM WWW   Вверх
Pokoinik
Дата 25.10.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

Репутация: 1
Всего: 3



Цитата(vasac @  25.10.2007,  09:50 Найти цитируемый пост)
Повесить на них onLoad.

не совсем понял, можешь показать пример?


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
vasac
Дата 25.10.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Если у вас фиксированный список картинок, думаю лучше сделать их обычным HTML, только в скрытом диве. Тогда и onload будет работать после их загрузки (я так думаю...).
PM WWW   Вверх
ksnk
Дата 25.10.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(Pokoinik @  25.10.2007,  10:17 Найти цитируемый пост)
Цитата(vasac @  25.10.2007,  09:50 )
Повесить на них onLoad.
не совсем понял, можешь показать пример? 

пример


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Starikan
Дата 25.10.2007, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 25.10.2007

Репутация: -2
Всего: -15



Посмотри на файл подгрузки JavaScript кода и на системные разрешения вариантов разных элементов кодов
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0763 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.