Таблица и неподвижная шапка

andrewww

Новичок
Таблица и неподвижная шапка

Люди помогите .... вот надыбал на такой скрипт
http://webfx.eae.net/dhtml/syncscroll/scrolltable.html

http://webfx.eae.net/dhtml/syncscroll/demo3.html

Суть этого скрипта в том чтобы шапка всегда оставалась неподвижно (всегда вверху независимо от прокрутки)... ну и соответсвенно если по ширине ячеек слишком много и появляется горизонтальный скрол .... шапка двигается вместе со скролом (Короче как в excele ... Окно -> Закрепить области) ...
Так вот проблема в том что на ихнем серваке он прекрасно работает.... на моем же наполовину .... при вертикальной прокрутке все ок , а при горизонтальной фигушки .... шапка не двигается вместе со скролом .....

А если запустить его локально на WinXP он будет работать ....
Помогите плз....
 

andrewww

Новичок
Автор оригинала: Loshadka
а при чем здесь сервер вообще? этож javascript...
ну на одном он работает ... на втором нет ...
там javascrip и xml т.к. загружается behavior: url('syncscroll.htc');
а там
<?xml version="1.0" encoding="utf-8" ?>

<!--

///////////////////////////////////////////////////////////////////////
// This script was designed by Erik Arvidsson for WebFX //
// //
// For more info and examples see: http://webfx.eae.net //
// or send mail to [email protected] //
// //
// Feel free to use this code as lomg as this disclaimer is //
// intact. //
///////////////////////////////////////////////////////////////////////

This behavior can be used to mirror the scrolling of another element

-->

<public:component lightWeight="true">
<public:property name="syncTo" put="setSyncTo" get="getSyncTo" />
<public:property name="syncDirection" />
<script language="JScript">
//<[[CDATA[

// declare two private variables
var sSyncTo;
var oSyncTo;

// set syncTo
function setSyncTo(sToElementId) {
// remove old sync to
if (oSyncTo != null)
oSyncTo.detachEvent("onscroll", onScroll);

sSyncTo = sToElementId;
// look up the element with sToElementId in the real html document
oSyncTo = element.document.getElementById(sToElementId);

if (oSyncTo != null)
oSyncTo.attachEvent("onscroll", onScroll);
}

// get syncTo
function getSyncTo() {
return sSyncTo;
}


// This is a function that returns a function that is used
// in the event listener
function onScroll() {
if (syncDirection == "horizontal" || syncDirection == "both")
element.scrollLeft = event.srcElement.scrollLeft;
if (syncDirection == "vertical" || syncDirection == "both")
element.scrollTop = event.srcElement.scrollTop;
}

//]]>
</script>
</public:component>
 
а на хрена тебе xml?
по-моемому в первой ссылке, т.е. там, где объясняется, как все это работает нет ни сторчки про xml...
 

akxxiv

Новичок
Оригинально, у них сайт заточен под FF, в IE его корежет по-страшному, тем неменее приведенные функцие работают только в IE...
 

andrewww

Новичок
Автор оригинала: admin
andrewww

Зачем тебе это надо?
существует огромная таблица которая выводится из mysql, т.к. в ней много столбцов и строк для удобство просмотра необходимо закрепить шапку таблицы .....

использовать фреймы (ифреймы) гиморно ...... вот и надыбал этот скрипт...... может подскажите еще что либо ?
 

Groove

Новичок
через каждые N-строк вставлять шапку

я к тому, что не надо усложнять там, где можно сделать проще по моему...
 

andrewww

Новичок
Автор оригинала: Groove
через каждые N-строк вставлять шапку

я к тому, что не надо усложнять там, где можно сделать проще по моему...
неа ... только как в excle закрепить область ....
 

flash-vkv

Новичок
да а ты пробовал в этом примере который привел в анале регулировать размер шрифта сразу ерунда получается
а сделать фиксированый размер шрифта это не выход

-~{}~ 03.10.05 03:20:

:) в мазиле все путем
а IE все портит

-~{}~ 03.10.05 03:24:

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

kruglov

Новичок
Можно нарисовать 2 таблицы, ширины ячеек верхней координировать через .offsetWidth соответствующих им столбцов (ячеек) нижней. В Explorerе можно прям через указание стиля expressionами.
 

flash-vkv

Новичок
зажми ctr+scroll мыши и такой подход рухнет если размер будет в процентах
 

kruglov

Новичок
flash-vkv
Почему это рухнет?

Нижняя таблица изменит размер, а за ней, по ее onresize изменит размер верхняя.

-~{}~ 03.10.05 09:41:

PHP:
Шапка:
<table border=1>
<tr>
<td style="width:expression(document.getElementById('column_1').offsetWidth)">Первый столбец</td>
<td style="width:expression(document.getElementById('column_2').offsetWidth)">Второй столбец</td>
</tr>
</table>

Данные:
<table border=1>
<tr>
<td id="column_1">Бла-бла-бла. Бла-бла. Бла-бла-бла-бла. Бла.</td>
<td id="column_2">Ля-ля-ля. Ля-ля-ля. Ля-ля</td>
</tr>
</table>
 
Сверху