layer vs form

0

Witam.

Napisałem sobie w PHP pewien moduł, zawierający m.in. panel administracyjny. Wpisy w bazie danych zmienia sie w owym panelu za pomocą formularzy. W celu ułatwienia zarządzania dałem ikonki (pliki info.gif) przy których po naniesieniu kursora pojawia się warstwa layer z podpowiedzią (prosty dymek).

Problem jest w tym, że formularz zawiera też pola typu select (rozwijane listy) i niestety jeśli dymek i lista się pokrywają to lista przesłania dymek (a potrzebuję z wiadomych powodów odwrotny efekt).

Dobrze to widać na załączonym screenie (dymek pojawia sie po naniesieniu na ikonkę przy słowie "Typ:", ale jest przesłaniany przez dwie listy rozwijane).

user image

Kod odpowiedzialny za wyświetlanie dymków to:

<style type="text/css">
.fshelpadmin {
 position:absolute;display:none;left:-40px;top:10px;
 border:1px dashed black;background-color:FFFFFF;
 padding:4px;font:normal normal 9px verdana,sans-serif;
}
</style>

<script type="text/javascript">
function Dymek(T,t){
 T.title=''
 T.parentNode.lastChild.style.display=t?'block':'none'
}
</script>

(...)

<SPAN style="Z-INDEX: 10; POSITION: relative">
  <IMG 
     onmouseover=Dymek(this,1)
     onmouseout=Dymek(this,0)
     src="modules/Fansubs/images/info.gif">
  <DIV class="fshelpadmin" style="DISPLAY: none">
       Treść dymka
  </DIV>
</SPAN>

A kod odpowiedzialny za listę i formularz to:

<FORM action="plik.php" method="post" encType="multipart/form-data">

(...)

<SELECT name="zmienna">
<OPTION value="a" selected>aktywny</OPTION>
<OPTION value="b">zamrożony</OPTION>
<OPTION value="c">porzucony</OPTION>
<OPTION value="d">ukończony</OPTION>
<OPTION value="e">w planach</OPTION>
</SELECT>

(...)

</FORM>

Ma ktoś jakiś pomysł?
Bo ja już niestety nie mam.

0

Dziękuje.
Szukałem pod hasłami layer i warstwa. Pewnie dlatego przeoczyłem :P
Nie powiem, by mnie ucieszyło to co przeczytałem pod tym linkiem.
Overlib znam, ale chciałbym nie korzystać.

Została mi analiza pluginu i zapewnie overliba też. :/
No cóż.. popróbuję.

0

<select>
  <option>To jest zazwyczaj na samym szczycie z-index</option>
</select>
<iframe src="about:blank" scrolling="no" frameborder="0"
  style="position:absolute;width:50px;height:120px;top:0px;left:0px;border:none;display:block;z-index:0"></iframe>
<div style="position:absolute;width:50px;height:120px;top:0px;left:0px;border:solid 1px black;z-index:0">
  To pojawi się przeed selectem
</div>

Prosze bardzo. 40 sekund w google

0

iframe? blee - to juz lepiej overliba uzyc :P

niektorzy koduja w xhtml 1.0 strict / xhtml 1.1...

0
tomkiewicz napisał(a)

iframe? blee - to juz lepiej overliba uzyc :P

overlib jest właśnie oparty o iframe - to jest właściwie wyciągnięty najmniejszy kod z tego, zresztą czemu blee ? zauważ że iframe nie jest tu użyty jako kontener treści ale jako biały prostokąt którego nic nie przykrywa

tyle że jeszcze overlib używa iframe'a tylko jeśli wykryje przeglądarkę na której musi być użyty

0

akurat nie korzystałem z overliba ;) wpisałem po prostu div over select w google i jednym z pierwszych przykładów był ten :)

0

a to sorry :P. Ale inna sprawa, ze dobrze umiescic to w osobnym pliku, bo tak to psuje walidacje. Chociaz i tak jest popsuta, ale jak "popsucie" siedzi w js, to przynajmniej tego nie widac...

a ja to bym postaral sie rozwiazac inaczej - np. ze podpowiedzi pojawiaja sie obok formy w stalym miejscu, albo sie przesuwaja tylko w kolumnie po prawej stronie formy - za myszka, zgodnie z pozycja hintowanego obiektu, albo wraz z przewijaniem strony

0

Dzięki.
Że też nie przyszło mi do głowy tak zapytać google'a. :)

Co do przesunięcia layer na prawą stronę od pozycji kursora, to myślałem o tym, ale nie specjalnie chcę to robić. Musiałbym pobrać szerokość warstwy (zależy od treści) i przesunąc o tyle na minusie wzdłuż osi X. A wszystko to jeszcze przed jej wyświetleniem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1