Как скрыть GIF пока он грузиться, а пока показывать фон

Тема в разделе "Веб-дизайн", создана пользователем sounde, 12 фев 2009.

Статус темы:
Закрыта.
Модераторы: zek24
  1. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Привет всем!
    Есть столбец в таблице, внутри нее фон, хочется его анимировать GIF-ом, но GIF много весит, можно сделать как-нибудь так, чтобы показывался фон пока грузиться GIF, а когда GIF полностью загрузиться, то он перекрыл бы фоновое изображение. Хотелось бы именно чтобы загрузка GIF-а стала прозрачной, т.е. стал показываться только тогда когда полностью загрузился бы.
     
  2. TS.ka

    TS.ka Постоялец

    Регистр.:
    13 сен 2008
    Сообщения:
    66
    Симпатии:
    13
    Через CSS не пробовал? Всмысле фон в CSS, а гифку в свойствах таблицы.
     
  3. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Не пробовал, а как можно это сделать? Хотя бы набросок кода напиши пожалуйста.
    С CSS знаком, но эффекты на нем пока еще не делал.
     
  4. TS.ka

    TS.ka Постоялец

    Регистр.:
    13 сен 2008
    Сообщения:
    66
    Симпатии:
    13
    Ну допустим, ты хочешь задать цвет фона для одной ячейки таблицы. тогда пишешь:
    HTML:
    
    <td  background="легкий_файл.jpg"  style="background-image:url(тяжелый_файл.gif)">текст</td>
    
    Когда загрузится твой тяжелый_файл.gif, он перекроет фон, указанный в свойстве background ячейки.
     
    sounde нравится это.
  5. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    А, это для меня не сложно, я понял. А когда будет грузиться GIF он как-то будет отображаться? Просто вроде во время загрузки пока полносью не загрузился тяжелый GIF он показывает первый свой статичный кадр.
     
  6. majahead

    majahead

    Регистр.:
    12 май 2008
    Сообщения:
    376
    Симпатии:
    107
    Нету универсального решения. Каждый браузер грузит страницу по разному.
    Вставь лёгкое изображение в baground, сверху тяжёлое. В некоторых браузерах получишь нужный эффект. css с бэграундом можно приципить с помощью style можно прописать на странице в хедере можно в отдельном файле.
    Опера старается отрисовывать сразу по мере того, как грузит HTML , а стили применяет потом - как загрузит их. Остальные же сначала предпочитают загрузить, посчитать всё, потом выводить.

    Мазила вот, кажется грузит сначала HEAD у HTML-ля, берёт из него линки на стили, а потом, грузит паралельно (или что-то в том духе...) и, соответственно, пытается рисовать всё сразу так, как задумывалось.
     
  7. Nikota

    Nikota Создатель

    Регистр.:
    11 фев 2009
    Сообщения:
    42
    Симпатии:
    2
    можно реализовать через java
    сперва подключаешь jquery
    в начале создаешь страницы создаешь div блок делаешь скрытым
    потом скриптом после загрузки старницы меняешь фон в объекте #n
     
  8. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    989
    Симпатии:
    267
    Вот пример сайта. Сначала загружается 1 страничка, а затем уже загружается весь код.
    http://www.rusmmg.ru/index.php?showforum=75
     
  9. vitaliyphp

    vitaliyphp Создатель

    Регистр.:
    22 фев 2009
    Сообщения:
    34
    Симпатии:
    2
    Сделай гифу display=none, а на body.onload повесь обработчик, который будет делать display=block
     
  10. Nikota

    Nikota Создатель

    Регистр.:
    11 фев 2009
    Сообщения:
    42
    Симпатии:
    2


    можно даже на саму эту гифку добавить событие onLoad и вызвать обработчик который поменяет тип display
     
Статус темы:
Закрыта.