Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загнать слой на верх по zIndex 
V
    Опции темы
bars80080
Дата 10.4.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Добрый день,

что-то слегка не догоняю в чём проблема

есть у меня табличка, в ней первая строчка обладает определённым классом (class="nn"), в остальных строчках в последней ячейке находится ссылко-кнопка (<a href="#" class="ss">&nbsp;</a>), а дальше по потоку документа есть блоки, в каждом табличка с дополнительной информацией. эти блоки скрыты до поры до времени (display: none;)

когда загружается документ (window.onload) происходит два события. во-первых, по коду ищутся тэги <a> с классом ss и каждой ссылке назначаются события onmouseover, onmouseout, onclick с вызовом соответствующих функций. это нужно чтобы при наведении мыши на ссылко-кнопку появлялась соответствующая табличка доп.инфо, а при клике фиксировалась.
затем осуществляется поиск строчек <tr> с классом nn. в каждой найденной строке осуществляется пробег по ячейкам и заменяется содержимое на слой с текстом и падающим списком. получается, что при наведении на текст (заголовок столбика) появляется список предлагающий сортировку таблицы а-я и я-а по столбику.

вооот, всё это работает как надо. однако, сейчас задался вопросом переместить таблички с доп.инфо левее ссылки-кнопки, так чтоб они открывались над основной таблицей. оказалось, что блоки сортировки, вставленные в ячейки строки nn лежат поверху всего, уступая только друг другу. в своё время мне пришлось постараться и накидать стилей для этих списков сортировки, чтобы они оказались над нижележащими ячейками таблицы, но как теперь положить сверху над ними слой?

вот вставляемый в ячейку код:

Код

<DIV class=sort onmouseover=showD(this); onmouseout=closeD(this);>Тип
<DIV><SPAN>сортировка</SPAN>
<A href="#adres1"><IMG src="az.gif"> прямая</A>
<A href="#adres2"><IMG src="za.gif"> обратная</A></DIV></DIV>


и стили к нему:

Код

.sort { position: relative; z-index: 1; }
.sort div { position: absolute; z-index: 2; left: -4px; top: 14px; display: none; background: #f7ffff; }
.sort a, .sort span { display: block; width: 80px; padding: 2px 4px; }
.sort a:hover { background: #ffffff; }


блок с таблицей доп.информации при открытии оказывается сверху основной таблицы полностью накрывая всё. но слово "Тип" оказывается сверху этого слоя, и если на него навести мышку, то и список с сортировкой тоже вывалится поверх слоя доп.инфо

более высокий z-index=1000 устанавливал, iframe в блок с доп.инфо подкладывал, ничто не помогает


может вопрос больше по вёрстке, но мне хотя бы и js решение
PM MAIL WWW   Вверх
ksnk
Дата 10.4.2009, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Вообще-то без минимального комплитного кода сложно что-то советовать, но можно поставить первой табличке какой-нибудь небольшой z-index, а невидимым пока дополнительным дивам - z-index побольше, причем больше, чем у .sort.

У IE есть привычка, обращать внимание на z-index только для элементов, расположенных в одном и том-же элементе. у FireFox - другая привычка. Он смотрит на z-index по всему документу... Нужно как-то выкручиваться, в cложных случаях на бумажке разрисовывать эти индексы, чтобы они не конфликтовали.  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
bars80080
Дата 10.4.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



прикольно, z-index короче не помогал ни в одном из браузеров, однако, сейчас подумал, что надобно бы уравнять индексы тогда всех родительских элементов дабы в итоге они начали работать. но там их такое количество, что чёрт ногу сломит. подумал, подумал и закинул в 
* { z-index: 1; }

сразу всё встало на свои места



а код довольно проблематично выдёргивать в пример, поэтому и заслал вначале вопрос. как видно, оправдалась тактика
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.