![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Al Polonski |
|
||||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 9.12.2004 Репутация: нет Всего: нет |
Есть код плавающего слоя и сам слой
Этот слой можно объявить в коде страницы только в середине или в самом конце. Т.е. он будет вложен в другие слои и таблицы. Не спрашивайте, почему. CMS не разрешает других мест. Между тем, нужно, чтобы слой был прибит к правому нижнему углу. Все отлично работает в примере, где слой лежит в BODY на сайте же он позиционируется, где придется, и скрипт не отрабатывает вообще (предположительно, из-за позиционирования) как это можно обойти? Добавлено через 10 минут и 41 секунду другими словами, тег слоя может быть размещен только где-то глубоко в структуре страницы (внутри ряда таблиц и слоев), но работать он должен без привязки к ним |
||||
|
|||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
1) Плавающие слои раздражают юзера и потому зло. Современные браузеры, включая IE7, поддерживают position:fixed (чтоб слой просто стоял на месте при скроллинге), для IE6 есть неплохой workaround - имхо, этого достаточно и даже слишком.
2) Гарантировать работу position:absolute внутри чего-либо невозможно по определению - кто может поручиться, что среди предков не будет никого с position:relative? 3) Кто мешает вставить нужный код (кстати, это случайно не модный, но противный ползающий флешовый баннер?;) JavaScript-ом же (например, через document.body.appendChild(нечто)) в самый конец? 4) JFYI: приведенный JavaScript-код в принципе способен работать только в IE (из-за screen.availHeight - кстати, она вообще не должна волновать вебмастера, юзер не обязан раскрывать окно на весь экран) и в Quirks mode (из-за привязки к document.body). -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Лучше, видимо сменить СМС... Ну, или почитать документацию...
В принципе, можно достать элемент из любого места, где он лежит сейчас и поместить куда надо...
Примерно так... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
ksnk, а просто document.body.appendChild(x) разве не то же самое делает? Или есть риск сбоя, лучше подстраховаться?
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
SelenIT, Да, в принципе - удаляется с прежнего места оно само... привычка - почистить за собой
![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Al Polonski |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 9.12.2004 Репутация: нет Всего: нет |
C document.appendChild разобрался. спасибо
теперь осталось разобраться с тем, чтобы скрипт запускался только после полной загрузки страницы. сам скрипт в отдельном файле SelenIT, нет, это не баннер P.S. простите за глупые вопросы. с JS не дружу пока ![]() Это сообщение отредактировал(а) Al Polonski - 27.12.2007, 17:34 |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Можно посмотреть этот пример. А нужный код обернуть в функцию (например, с именем appendFloatingLayer) и в конце подключаемого скрипта вызывать setGlobalOnLoad(appendFloatingLayer); -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
Al Polonski |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 9.12.2004 Репутация: нет Всего: нет |
Проблема частично решилась.
Но остался еще один момент document.body.scrollTop работает на ура в простом тестовом примере. Но на реальной странице он, почему-то, всегда равен нулю. Соответственно, слой прибивается к нулевой точке и дальше не движется. Есть ли вообще какие-то аттрибуты, показывающие смещение элемента не от начала body, а от нулевой точки экрана? |
|||
|
||||
theROMANtic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 22.10.2010 Репутация: нет Всего: нет |
такой вопрос. слой1 с позицией фиксед. седующий за ним слой - слой2 отображается под слоем1 как это исправить, подскажите, пожалуйста? |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |