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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убедиться в полной загрузке картинки? картинка подгружается через JS 
:(
    Опции темы
12345c
Дата 24.11.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



(Тот же самый эффект значительно проще, без скриптов, получить, если сгенерировать отцентрированную (по горизонтали) таблицу неопределённой ширины и высоты, вставленную в таблицу шириной и высотой 100%, имеющую absolute. Картинка тогда проявится  только после окончания загрузки (т.к. в таблице), а центровку не надо будет вычислять.)

Примерно:
Код
<a href=#>aaa</a>
<table width=100% height=100% border=1 style=position:absolute;top:0;left:0><tr><td align=center>
  <table border=1><tr><td><img src=snow.gif></td></tr></table>
</td></tr></table>

Внешняя таблица без фона не мешает делать клики, что иллюстрируется ссылкой.
...Хотя нет, мешает.

Это сообщение отредактировал(а) 12345c - 24.11.2006, 19:02
PM WWW   Вверх
SelenIT
Дата 24.11.2006, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Имхо, "значительно проще без скриптов" из скрипта все же не получится ;)

Это сообщение отредактировал(а) SelenIT - 24.11.2006, 19:09


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
12345c
Дата 24.11.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Цитата(SHAmanovi4 @  24.11.2006,  18:49 Найти цитируемый пост)
сам понимаю что по таймауту не оч хорошо получается - функция висит в памяти
она не висит в памяти - просто регулярно несколько раз вызывается.


Цитата(SelenIT @  24.11.2006,  18:54 Найти цитируемый пост)
И никаких проблем в FF не увидел
Я тестировал на 1.07, там FF (в моей версии) не успевал выдать правильные размеры, давал (0,0). И, видимо, это где угодно могло случиться, поэтому проверка по таймауту страхует неуспевание.

Кстати, без таймаута уже через несколько операторов FF давал правильные размеры, но на это надеяться, конечно, нельзя.

PM WWW   Вверх
SelenIT
Дата 24.11.2006, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



12345c, я правильно понимаю, такая беда была с этим вариантом?
Код

a=new Image();
a.onload=function(){alert([a.width,a.height]);}
a.src='snow21.gif'


А если его заменить на такой
Код

a=new Image();
a.onload=function(){alert([this.width,this.height]);}
a.src='snow21.gif'
проблема все равно остается?

Это сообщение отредактировал(а) SelenIT - 24.11.2006, 20:30


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
12345c
Дата 25.11.2006, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Скорее всего, разницы не будет, потому что стоило взять в FF a.width чуть позже без задержек по tomeout, как становилось не 0, а нужное число.
PM WWW   Вверх
SHAmanovi4
Дата 30.11.2006, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



как это выглядит сейчас:
http://anime.insyss.ru/galery/

И вот какой ща скрипт:
Код

var d=document;

function closepic()    {
d.getElementById('bigpic').style.display='none';
}

function bigpic(newsrc, title)    {
pic=new Image();
var div1 = d.getElementById('bigpic');
if(newsrc) {pic.src=newsrc;}    //загрузка картинки или продолжение после ожидания
if(!pic.width||!pic.height)    {
    setTimeout('bigpic(\''+newsrc+'\',\''+title+'\');',10);
    return;
}
else    {
var picw, pich;    //инициация переменных высоты и ширины большой картинки
picw=pic.width;
pich=pic.height;
var bod=d.body;
var win_x=bod.clientWidth;
var win_y=bod.scrollTop;
div1.style.width=picw;
div1.style.height=pich+17;

var divc=div1.innerHTML;
var newtext='<span id=close onclick="closepic();" style="float: right;">[X]</span><div id=bigpic_tit>'+title+'</div><img src='+newsrc+' id=pic1>';
div1.innerHTML=newtext;
div1.style.left=(win_x/2-picw/2);
div1.style.top=(win_y+bod.clientHeight/2-pich/2);
div1.style.display='inline';
}
}


На самом деле, я уже на грани отчаяния. Я логику понимаю, следую за ней и не вижу ошибки. ПОЧЕМУ smile Народ, если поможете - буду ну ОЧЧЧЕНЬ благодарен.

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


 




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


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

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