Обобщая код в этом SO-ответе , я создал небольшой плагин jQuery, который упрощает настройку заголовка прокрутки для любой таблицы - то есть, когда вы прокручиваетечто заголовок таблицы обычно находится за пределами видимого окна, клон заголовка становится фиксированным в верхней части окна, чтобы вы могли видеть, какие столбцы какие.Это все работает нормально, но у меня проблема в том, что я не могу добиться того, чтобы ширина столбцов идеально соответствовала таблице клонов и исходной таблице.
Я создал jsFiddle, который демонстрируетпроблема здесь .Суть в том, что я использую следующий цикл для копирования ширины ячеек из родительской таблицы в таблицу клонов:
$("#tbl1").find('tr').first().children().each(function(i, e)
{
$($("#tbl1_clone").find('tr').children()[i]).width($(e).width());
});
Это необходимо, потому что таблица клонов состоит только из заголовка родительской таблицы;у него нет содержимого, поэтому ширина этого столбца будет отличаться от ширины родительской таблицы без этого шага.Однако этот цикл работает не совсем правильно.Ширина ячеек в клонированной таблице всегда отключена на несколько пикселей.Это происходит как в IE8, так и в Chrome (и, вероятно, в других, хотя я их не проверял).
Я совершенно не знаю, как исправить эту проблему.Пожалуйста, ознакомьтесь с jsFiddle , так как он объясняет проблему намного лучше, чем я.
Возможно, стоит отметить, что тот же код работает, когда позиция таблицы клонов не исправлено.Однако это бесполезно для меня, так как мне нужно, чтобы это было исправлено.