|
|
|
Странный косяк с динамическим размещением элемента в Фоксе
|
|||
|---|---|---|---|
|
#18+
Всем привет! Тут такая странная проблема с динамическим размещением элемента. На странице динамически создается DIV. Его размеры привязаны к некому ключевому элементу на странице. После создания DIV дополняем событие window.onResize вызовом самопальной функции myREDRAW() , в которой мы меняем координаты нашего DIV в соответствии с новым расположением ключевого элемента. Эта же функция вызывается сразу после создания DIVa. DIV позиционируется по абсолютным координатам, они расчитываются как сумма смещений (по TOP и LEFT) начиная от координат ключевого элемента и до последнего его предка. В результате получаем: в IE все работает, а в Фоксе при создании DIV он позиционируется в начале немного не точно (смещение влево и вверх), т.е. какое-то смещение недобрал, а при изменении окна он начинает располагаться правильно. Т.е. Фокс плохо позиционирует при создании DIV, а при ресайзе все хорошо. Функция myREDRAW одна и та же, что при ресайзе, что и при создании. Что это за особенность у Фокса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2009, 12:54 |
|
||
|
Странный косяк с динамическим размещением элемента в Фоксе
|
|||
|---|---|---|---|
|
#18+
Решил проблему через Ж вызовом после создания DIV события window.onresize(); Полагаю в процессе создания DIV не все элементы еще отпозиционировались как надо, а я в этот момент через функцию myREDRAW позиционирую свой DIV, в результате получается не точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2009, 16:39 |
|
||
|
Странный косяк с динамическим размещением элемента в Фоксе
|
|||
|---|---|---|---|
|
#18+
smm, у FF все в порядке. смотри в сторону onload вообще о корявости браузеров можно было говорить лет 7 назад. сейчас они все работают нормально и без багов. баг у всех один то что у всех еще свои какие то стандарты и между собой договориться не могут :) например сегодня опять потеря кучу времени чтобы во всех браузерах показывалось одинаково в связи с тем что IE FF и Oper вычисляют по разному высоту и ширину объекта из-за padding или margin приходится в 48.5 контейнеров засовыввать чтобы приблизиться к одинаковому виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2009, 18:03 |
|
||
|
Странный косяк с динамическим размещением элемента в Фоксе
|
|||
|---|---|---|---|
|
#18+
Млин. Есть анекдот - где программист ищет ошибки. 1) В электрсети 2) В железе 3) В системном ПО 4) Наконец в своей проге. Не надо гнть на Фокс. Скорее всего ты не учитываешь padding/border/margin. Тупой ишак имеет свою точку зрения на этот счет. Задай явно DTD и ты поймешь в чем проблема - ишака тоже перекосит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2009, 18:06 |
|
||
|
Странный косяк с динамическим размещением элемента в Фоксе
|
|||
|---|---|---|---|
|
#18+
Да я не гоню на Фокс, просто он работает, видно, чуть по другому чем IE и я пытаюсь выяснить в чем это "чуть" заключается, ведь для IE это все работает нормально. Особенно сбивает с толку то, что косяк вылезает именно в начальный момент отрисовки объекта при его создании, а при событии onresize() все отрисовывается как надо, хотя и при создании и при ресайзе вызывается одна и та же функция mREDRAW, т.е. отрисовка объекта идет в одном месте. Если я не учитываю маргины и паддинги, то почему тогда при onresize() все работает и в Фоксе и в IE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2009, 09:20 |
|
||
|
Странный косяк с динамическим размещением элемента в Фоксе
|
|||
|---|---|---|---|
|
#18+
Вдогонку Я тут еще раз мосмотрел вроде бы этот косяк происходит из-за того, что когда отрисовываеся блок DIV, то иногда происходит маленькое смещение элементов на странице, поскольку расположение основных элементов на странице резиновое. Хотя при создании блока DIV указывается, что display=block и position=absolute и его размещение на странице никак не должно затрагивать остальные элементы. Т.е. мы типа нарисовали блок по текущим координатам основных элементов, а основной элемент после отрисовки блока взял и малек подвинулся, а последующий ресайз перерисовывает уже по новому. PS: DTD пробовал прописывать -поведение не поменялось ни в IE не в Фоксе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2009, 09:55 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=289&tid=1454668]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 338ms |

| 0 / 0 |
