Страницы: 1
Спасибо за замечания. Правда они не приблизили меня к решению проблемы. Вот что сделать удалось:
[code]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body onload="init()">
<script>
function init()
{
var div=document.getElementById("mainDiv");
//div.innerHTML = window.navigator.appName;
//alert(window.navigator.appName);
//if(window.navigator.appName != "Microsoft Internet Explorer")
CreateScrollHeader(div,true,true);
}
//создает из любого дива, в котором находятся правильная (с thead и tbody) таблица
//таблицу с фиксированной верхней строкой
//и левым столбцом
//При этом если второй параметр истина, то фиксируется левый стоблец, если третий истина, то верхняя строка.
//Т.е. возможна независимая фиксация.
//FYI алгоритм удобнее всего рассматривать в FireBug(плагин -отладчик для FireFox)
function CreateScrollHeader(content, scrollHorizontal, scrollVertical)
{
var divContent = null; //слой урезанный до размеров table body именно на нем
вот упрощенный вариант. Проблема таже. Не двигает собака. В IE все ок.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <script> var i=40; function func(btn) { var cell=document.getElementById("main"); cell=cell.rows[0].cells[0]; cell.style.left=++i; btn.style.left=++i; } </script> <div style="width:400px; height:100px; back-color:0xFF0000;"> <input type="button" onclick="func(this)" style="position:relative; left:20px;"/> </div> <table border="1" id="main"> <tr> <td style="position:relative;">dfdf</td> <td>dfdf</td> <td>dfdf</td> <td>dfdf</td> </tr> </table> </body> </html>
Всем привет.
Столкнулся с необходимостью создать таблицу с закрепленноей верхней строкой и левым столбцом (т.е. при скроллинге они остаются там где были)
Есть удобное решение с использованием expression в css, но в FireFox оно не работает.
Всвязи с этим решил делать тоже самое вручную в обработчике onscroll.
Посмотрите пожалуйста что не так. В IE все работает...
[code]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<script>
function fixCells(div)
{
var i;
var table;
var top = div.scrollTop-3;
var left = div.scrollLeft-3;
for (i = 0; i < div.childNodes.length; i++)
if(div.childNodes[i].tagName == "TABLE")
break;
table = div.childNodes[i];
for(i=0; i<table.rows.length; i++)
{
table.rows[i].cells[0].style.left = String(left)+"px";
table.rows[i].cells[0].style.right="auto";
}
for(i=0; i<table.rows[0].cells.length; i++)
{
table.rows[0].cells[i].style.t
Страницы: 1