Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка страницы целиком
 
 автор: aexb   (13.11.2007 в 10:07)   письмо автору
 
 

Собственно, сабж. Как сверстать страницу так, чтобы браузер выдавал уже ее полностью, а не подгружал сначала текст, а потом картинки кусками? Что-то слышал про разницу между <div> и <table>, но, что называется, не знаю, с какого конца подобраться.

   
 
 автор: bronenos   (13.11.2007 в 10:11)   письмо автору
 
   для: aexb   (13.11.2007 в 10:07)
 

блок и таблица соотвтственно
вещи разные

   
 
 автор: aexb   (13.11.2007 в 10:17)   письмо автору
 
   для: bronenos   (13.11.2007 в 10:11)
 

)))))))) я говорил о разнице загрузки данных, помещенных в див и таблицу. собственно, тут все помещено и в див, и в таблицу (иначе не получается под все браузеры подогнать). вот исходник страницы:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
body {background: #000000;}
div.body {width: 100%; height: 100%; text-align: center;}
img {margin: 6px; border: 1px solid; border-color: 666666}
img.grey {border: 1px solid #666666;}
img.white {border: 1px solid #CCCCCC;}
table {position: relative; top: 3%; border: 0;}
table td {vertical-align: top; color: #FFFFCC; padding: 0; margin: 0;}
span.name {font-family: Arial, Helvetica, Georgia; font-size: 30px;}
span.title {font-family: Arial, Helvetica, Georgia; font-size: 12px;}
span.phone {position: relative; left: -8px; top: 10px; font-family: Georgia, Times; font-size: 20px;}
div.inactive {display: none;}
div.active {display: block;}
</style>
<script>
var imageLargeCurrent = null;
var imageLargeNew = null;
var thumbCurrent = null;
var thumbNew = null;

function showlayer(layer) {
    imageLargeNew=document.getElementById('ill-big-'+layer);
    if (imageLargeNew != imageLargeCurrent) {
        if(imageLargeCurrent) {        
            imageLargeCurrent.className = "inactive";
        }
        if(imageLargeNew) {
            imageLargeNew.className = "active";
            imageLargeCurrent = imageLargeNew;
        }
    }
}

function colorthumbborder(i) {document.getElementById('img-'+i).className="white";}
function uncolorthumbborder(i) {document.getElementById('img-'+i).className="grey";}
</script>
</head>
<body>
<div class="body">
<table cellspacing=0 cellpadding=0 border=0 align=center>
    <tr>
        <td>
            <div style="position: relative; top: 0.4 em; left: 3px;">
                <span class="name">Preved</span><br/>
                <span class="title">Preved</span></br>
                <span class="phone">(XXX) XX-XX-XX</span>
            </div>
        </td>
        <td align=right>
            <a href="i/big-1.jpg" onclick="showlayer('1'); return false;"><img onmouseover="colorthumbborder('1')" onmouseout="uncolorthumbborder('1')" id="img-1" class="grey" src="i/small-1.jpg"></a><a href="i/big-2.jpg" onclick="showlayer('2'); return false;"><img onmouseover="colorthumbborder('2')" onmouseout="uncolorthumbborder('2')" id="img-2" class="grey" src="i/small-2.jpg"></a><br/>
            <a href="i/big-4.jpg" onclick="showlayer('4'); return false;"><img onmouseover="colorthumbborder('4')" onmouseout="uncolorthumbborder('4')" id="img-4" class="grey" src="i/small-4.jpg"></a><a href="i/big-5.jpg" onclick="showlayer('5'); return false;"><img onmouseover="colorthumbborder('5')" onmouseout="uncolorthumbborder('5')" id="img-5" class="grey" src="i/small-5.jpg"></a>
        </td>
        <td>
            <a href="i/big-3.jpg" onclick="showlayer('3'); return false;"><img onmouseover="colorthumbborder('3')" onmouseout="uncolorthumbborder('3')" id="img-3" class="grey" src="i/small-3.jpg"></a><br/>
            <a href="i/big-6.jpg" onclick="showlayer('6'); return false;"><img onmouseover="colorthumbborder('6')" onmouseout="uncolorthumbborder('6')" id="img-6" class="grey" src="i/small-6.jpg"></a>
        </td>
    </tr>
    <tr>
        <td colspan=2 style="width: 464px; text-align: right"><div id="ill-big-1" class="inactive"><img src="i/big-1.jpg"></div><div id="ill-big-2" class="inactive"><img src="i/big-2.jpg"></div><div id="ill-big-3" class="inactive"><img src="i/big-3.jpg"></div><div id="ill-big-4" class="inactive"><img src="i/big-4.jpg"></div><div id="ill-big-5" class="inactive"><img src="i/big-5.jpg"></div><div id="ill-big-6" class="inactive"><img src="i/big-6.jpg"></div></td>
        <td>&nbsp;</td>
    </tr>
    
</table>
</div>
</body>
</html>

Апд.: или как сделать, чтобы картинки грузились не кусками, а целиком каждая?

   
 
 автор: CNT   (13.11.2007 в 12:50)   письмо автору
 
   для: aexb   (13.11.2007 в 10:07)
 

Браузер, имея ОДНОВРЕМЕННО несколько объектов для загрузки (текст, картинки, что-то еще)
САМ определяет порядок загрузки этих объектов и начинает грузить их параллельно (или по какой-то
ИМ САМИМ выбранной очереди). Т.е. ЗДЕСЬ вы изменить ничего не в состоянии.

Вы вполне спокойно можете:
1. Или управлять ПОКАЗОМ после окончания загрузки.
Например, назначив телу документа свойство невидимости, кое меняется на значение "видимый"
только после окончательной загрузки всех объектов документа.
Див там будет, или таблица - не суть принципиально в этом случае.

2. Или убрать одновременность начала загрузки и самостоятельно установить порядок ее (в этом
случае в сумме время загрузки ВСЕГДА будет больше, чем если бы браузер делал это
самостоятельно).
Например, прописать все картинки (кроме одной) в html-коде без указания SRC, но для каждой
картинки указать инструкцию для события ONLOAD, по которой окончание загрузки первой картинки
вызовет функцию прописывания SRC у второй картинки; окончание загрузки второй картинки -
пропишет SRC у третьей и т.д.

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования