Re[7]: Вертикальная прокрутка только одной ячейки таблицы
От: Spidola Россия http://www.usametrics.ru
Дата: 30.03.06 16:14
Оценка: 14 (1)
Здравствуйте, SchweinDeBurg, Вы писали:

S>>Кстати, я проверил, iFrame работает и в FF (у меня 1.5.0.1) и в Netscape (8.1), так что не browser-specific.


SDB>А вот это уже интереснее! Заглянул в стандарт XHTML 1.0 Transitional — действительно, <iframe> там есть. К сожалению, при использовании текущей табличной структуры это проблему не решает, поскольку Лиса и Опера игнорируют свойство "height" для таблиц.


Будем добивать
Даю направление мысли:

<div id="xxx" width="400" height="400"></div>
<script>
xxx.innerHTML = '<iframe src="http://www.auto.ru" name="if" id="if" width="400" height="400" marginwidth="1" marginheight="1">No worked</iframe>'
</script>


где значения width="400" height="400" также можно попробовать вычислить JavaScript-ом.

Пардон, нет времени адаптировать подо все браузеры и проверить, но может получится..
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 30.03.06 16:40
Оценка:
Здравствуйте, Spidola, Вы писали:

S>Даю направление мысли:


Сенькс.

S>Пардон, нет времени адаптировать подо все браузеры и проверить, но может получится..


ОК, попробою еще как-нибудь повозиться.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re: Вертикальная прокрутка только одной ячейки таблицы
От: devic Fast Version Control System
Дата: 30.03.06 18:02
Оценка: 73 (3)
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Доброго времени суток всем нам!


SDB>Интересует, возможен ли сабж (и если да — то как) для страничек типа вот этой (крутить хочется только желто-полосатую часть)? Или нужно все переверстывать на div'ах?


как вижу проблема (судя по моему фаерпуксу) еще не решена на http://zarezky.spb.ru/treasure.html,

вот мое предложение:

http://www.sembel.net/expexc/js/position/scroll_table.html
Re[2]: Альтернативная идея
От: stele Россия www.stele.su
Дата: 30.03.06 18:40
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Если у кого сохранилась Лиса 1.0.х — посмотрите, пожалуйста, игнорируется ли свойство "height" в ней: тестовая страница.


SeaMonkey 1.0 {Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0 Mnenhy/0.7.3.0 + MultiZilla 1.8.1.0p} скролинг у всей страницы.
... <<My edition based on RSDN@Home 1.2.0 alpha rev. 648>>
В задаче спрашивается:
Сколько вытечет портвейна из открытого бассейна?
Re[2]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 03:38
Оценка:
Здравствуйте, devic, Вы писали:

D>вот мое предложение:

D>http://www.sembel.net/expexc/js/position/scroll_table.html

Супер! Бьюсь в экстазе! Единственная просьба — можно откомментировать код для полного просветления?

<td rowspan="2" class="pageText" style="padding: 0px;height:100px;">
<div id=Firefux style="width:100%; height:100%; z-index:1; overflow: auto;">
...
<script>
window.onload=function()
{
    if(window.innerHeight)
    {
        resizeIt();
        window.onresize=resizeIt;
    }
}
function getAbsPos(o,p){var i=0;while(o!=null){i+=o["offset"+p];o=o.offsetParent;}return i;}
function resizeIt()
{
    var ff=document.getElementById("Firefux");
    ff.style.height=(window.innerHeight-getAbsPos(ff,"Top")-10)+"px";
}
</script>

Особенно интересуют выделенные магические числа... ну и вообще. У меня просто, к сожалению, нет сейчас под рукой справочника по JS.

P.S.
Кстати, в Опере это тоже прекрасно работает.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[3]: Альтернативная идея
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 03:38
Оценка:
Здравствуйте, stele, Вы писали:

S>SeaMonkey 1.0 {Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0 Mnenhy/0.7.3.0 + MultiZilla 1.8.1.0p} скролинг у всей страницы.


Да, я знаю — в ней вчера проверял тоже.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[3]: Вертикальная прокрутка только одной ячейки таблицы
От: devic Fast Version Control System
Дата: 31.03.06 07:45
Оценка: 46 (3)
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Единственная просьба — можно откомментировать код для полного просветления?


вот вроде так:
<script>
/*
числа:
100: в случае если скрипты запрещены и есть желание все равно иметь прокрутку в ячейке. Конечно не 100... можно побольше
10: отступ у body. Так как он явно не указан, то стоит по какое-то число по умолчанию, наугад написал 10.
*/
window.onload=function()
{
    //Выбираем бразуеры, которые знают, что такое window.innerHeight
    if(window.innerHeight)
    {
        resizeIt();// первый запуск
        window.onresize=resizeIt;// повторные запуски в случае изменения размера окна
    }
}
/* функция Get Absolute Position (это скопировал из моей библиотеки :) )
 Она находит абсолютное положение элемента в окне. Иначе offsetTop offsetLeft дают значения относительно
 родительского узла, а не body. У нее два аргумента:
 o: какой то элемент
 p: Left|Top
*/
function getAbsPos(o,p){var i=0;while(o!=null){i+=o["offset"+p];o=o.offsetParent;}return i;}
function resizeIt()
{
    var ff=document.getElementById("Firefux");
    /*
    window.innerHeight: находим внутреннею высоту окна
    getAbsPos(ff,"Top"): находим абсолютное вертикальное положение
    вычитая из первого второе, получаем необходимую высоту для нашего div
    -10: не забываем, про отступ у body
    */
    ff.style.height=(window.innerHeight-getAbsPos(ff,"Top")-10)+"px";
}
</script>
Re[4]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 08:08
Оценка:
Здравствуйте, devic, Вы писали:

D>числа:

D>100: в случае если скрипты запрещены и есть желание все равно иметь прокрутку в ячейке. Конечно не 100... можно побольше

При выделенном на моем сайте делать будет нечего. То есть, если я забиваюсь на то, что JS разрешен, то "height:100px" можно убрать, да?

D>10: отступ у body. Так как он явно не указан, то стоит по какое-то число по умолчанию, наугад написал 10.


М-м-м... я правильно понимаю, что это то самое число, которое задается атрибутами marginwidth="..." marginheight="..." у тэга <body>?

Остальное понятно, сенькс за подробные объяснения, а то я когда из "своего" WinCE/ATL/WTL/MFC после долгого перерыва вылезаю в (X)HTML/JS...

P.S.
Заметил, кстати, одну любопытную вещь. Только Опера (тестил на 8.5) на 100% корректно обрабатывает изменение размера окна браузера с Вашей страничкой. Лиса и Ослик при некоторых размерах начинают добавлять горизонтальную полосу прокрутки, потому как текст чуть-чуть не влезает. Причем Осел ведят себя так и при простом div'е без скриптов, с которого все начиналось. Впрочем, это уже мелочи. Спасибо за помощь еще раз.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Вдогонку...
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 08:12
Оценка: :))
Как бы при просмотре данного топика не нашелся очередной недевольный типа Под впечатлением от сегодняшнего вопроса в форуме Win API
Автор: kero
Дата: 21.02.06
.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[5]: Вертикальная прокрутка только одной ячейки таблицы
От: devic Fast Version Control System
Дата: 31.03.06 08:58
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>При выделенном на моем сайте делать будет нечего. То есть, если я забиваюсь на то, что JS разрешен, то "height:100px" можно убрать, да?

ага
D>>10: отступ у body. Так как он явно не указан, то стоит по какое-то число по умолчанию, наугад написал 10.

SDB>М-м-м... я правильно понимаю, что это то самое число, которое задается атрибутами marginwidth="..." marginheight="..." у тэга <body>?

точно, так и есть

SDB>P.S.

SDB>Заметил, кстати, одну любопытную вещь. Только Опера (тестил на 8.5) на 100% корректно обрабатывает изменение размера окна браузера с Вашей страничкой. Лиса и Ослик при некоторых размерах начинают добавлять горизонтальную полосу прокрутки, потому как текст чуть-чуть не влезает. Причем Осел ведят себя так и при простом div'е без скриптов, с которого все начиналось. Впрочем, это уже мелочи. Спасибо за помощь еще раз.

а что им делать

dt.hrefName {
    font-size: 10pt;
    font-weight: bold;
    white-space: nowrap;
    margin-left: 2pt;
    margin-bottom: 4pt;
}


если его убрать, то будет ок
Re[6]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 09:17
Оценка:
Здравствуйте, devic, Вы писали:

D>точно, так и есть


Ну, значит я еще не совсем тупой.

D>а что им делать

D>
D>    white-space: nowrap;
D>

D>если его убрать, то будет ок

Я, честно говоря, тоже сначала на это погрешил, но в процессе дерганья окошек мне показалось, что "зазор" (служащий причиной появления горизонтальной полосы прокрутки) появляется иногда даже в том случае, когда все влезат. Может, невнимательно посмотрел.

Вобщем, если мне на выходных удастся забороть Осла, который почему-то растягивает на несколько пикслеей шире положенного полоску с меню (см. здесь; Вашего скрипта там нет, но думаю, что дело не в его наличии/отсутствии), то можно будет в качестве эксперимента подверстать в "новом стиле" страничку-другую и посмотреть, удобнее ли оно того, что есть сейчас.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[7]: Вертикальная прокрутка только одной ячейки таблицы
От: devic Fast Version Control System
Дата: 31.03.06 09:28
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Я, честно говоря, тоже сначала на это погрешил, но в процессе дерганья окошек мне показалось, что "зазор" (служащий причиной появления горизонтальной полосы прокрутки) появляется иногда даже в том случае, когда все влезат. Может, невнимательно посмотрел.

возможно, также и ИЕ глючит.

Ваш сайт я занес в закладки, так как мне у Вас учится нужно в 100 раз больше, чем Вам у меня
Весной 2005 я так сказать забросил HTML/JS/ASP/PHP и т.д. и окунулся в C++
Re[8]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 09:33
Оценка:
Здравствуйте, devic, Вы писали:

D>Ваш сайт я занес в закладки,


Польщен.

D>так как мне у Вас учится нужно в 100 раз больше, чем Вам у меня


Не льстите старику!

D>Весной 2005 я так сказать забросил HTML/JS/ASP/PHP и т.д. и окунулся в C++


Welcome home!
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[7]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 12:09
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Вобщем, если мне на выходных удастся забороть Осла, который почему-то растягивает на несколько пикслеей шире положенного полоску с меню (см. здесь;


Заборол... хотя в высшей степени странным образом:

function writePageFooterExFit(strImagesPath, fXHTML, fCSS)
{
    with (document) {
...
        write("<td class=\"copyrightNoticeFit\" style=\"width: expression(body.clientHeight + 100);\">");
...
    }
}

100 — это ширина ячеек, в которых слева рисуются "кнопки". Протестил в 6-м Осле, Лисе 1.5, Опере 8.5 и 9.0 бета.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re: Вертикальная прокрутка только одной ячейки таблицы
От: anonymous Россия http://denis.ibaev.name/
Дата: 31.03.06 14:30
Оценка: 26 (4)
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Интересует, возможен ли сабж (и если да — то как) для страничек типа вот этой (крутить хочется только желто-полосатую часть)? Или нужно все переверстывать на div'ах?


Решение найдено конечно, но может кому пригодится эмуляция фреймов с помощью CSS и JavaScript:
* http://www.fu2k.org/alex/css/frames/standards_mode и мануал к нему http://www.fu2k.org/alex/css/frames/
* http://www.456bereastreet.com/lab/cssframes/
* http://www.gunlaug.no/tos/moa_8d.html
* http://home.comcast.net/~rob.freundlich/css/noFrames.html
* http://limpid.nl/lab/css/fixed/right-sidebar-and-header

Да и просто стоит посмотреть.
Re[2]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 14:41
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Да и просто стоит посмотреть.


Денис, а там это тоже внутри "табличной" страницы делается или на "голых" div'ах?
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[3]: Вертикальная прокрутка только одной ячейки таблицы
От: anonymous Россия http://denis.ibaev.name/
Дата: 31.03.06 14:51
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

A>>Да и просто стоит посмотреть.

SDB>Денис, а там это тоже внутри "табличной" страницы делается или на "голых" div'ах?

Вроде блочная верстка, таблиц я не заметил.
Re[4]: Вертикальная прокрутка только одной ячейки таблицы
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 31.03.06 14:55
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Вроде блочная верстка, таблиц я не заметил.


С блочной и у меня пример был — frameSimulate.zip (откуда взял не помню). Но он под ослом не работает, только под Лисой и Оперой.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[5]: Вертикальная прокрутка только одной ячейки таблицы
От: anonymous Россия http://denis.ibaev.name/
Дата: 31.03.06 15:12
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

A>>Вроде блочная верстка, таблиц я не заметил.

SDB>С блочной и у меня пример был — frameSimulate.zip (откуда взял не помню). Но он под ослом не работает, только под Лисой и Оперой.

Среди примеров есть кроссбраузерные.
Re[3]: Вертикальная прокрутка только одной ячейки таблицы
От: mogadanez Чехия  
Дата: 04.04.06 08:42
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>А это разве не IE-specific?


нет, у нас на ифреймах очень большие куски функционала написаны, работает везде да же на Safari
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.