Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z FF: pokazywanie menu.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
ano
Cześć!
Ostatnio napisałem taki mały skrypt do obsługi menu:
Kod
function see (a)  {

    a.style.display= 'block';
    a.style.visibility = "visible";
}

function see2 (a)  {

    a.style.display= 'none';
    a.style.visibility = "hidden";
}

Wywoływanie:
Kod
<a href="#" onmouseover="see(sub_dokumenty);" onmouseout="see2(sub_dokumenty);">Dokumenty</a>

<div id="sub_dokumenty" onmouseover="see(sub_dokumenty);" onmouseout="see2(sub_dokumenty);">
    <ul>
    <li><a href="doc/statut.doc">Statut szkoły</a></li>
    <li><a href="doc/regulamin_dyskotek.doc">Regulamin dyskotek</a></li>
    </ul>
</div>

CSS:
Kod
#sub_dokumenty {
    z-index:3;
    position: absolute;
    left: 190px;
    top: 393px;
    width: 191px;
    background-color: #81C0EA;
    visibility: hidden;
}
[...]

Pod Operą i IE wszystko działa, jednak pod FF mam taki błąd:
po najechaniu myszką na link "Dokumenty" menu nie wyświetla mi się... sad.gif
Jak można było by to naprawić?
SHiP
Hmm u mnie dziala twój skrypt również pod FF ;] Tylko jak?? Tabelka pokazuje sie kilometr od linka ;] Domyślam sie że to ma byc coś na zasadzie menu ;]

W twoim przypadku prawdopodobnie występują błędy ponieważ źle odnosisz się do obiektu sub_dokumenty. nie możesz w javascript napisać
Kod
sub_dokumeny.style.costam

Musisz wykryć go za pomocą getElementById(nazwa)
Kod
function see (a)  {
document.getElementById(a).style.display= 'block';
document.getElementById(a).style.visibility = "visible";
}

function see2 (a)  {
document.getElementById(a).style.display= 'none';
document.getElementById(a).style.visibility = "hidden";
}

w tym przypadku wywolując funkcje lepiej wziąśc sub_dokumenty w apostrofy ;]


kiedyś napisałem podobny skrypt tylko z określnikiem czasowym ;] Dopasowalem przy okazji do twojego przypadku...
Kod
<head>
<script language="javascript">
var WindowID = null;
var Timeout = Array();
var Objects = Array();
var exist = null;

function ShowHelpWindow(WindowID) {
document.getElementById('HelpWindow' + WindowID).style.visibility = 'visible';
}

function HideHelpWindows(WindowID) {
document.getElementById('HelpWindow' + WindowID).style.visibility = 'hidden';
}

function OverHelpWindow(WindowID) {
    document.getElementById('HelpWindow' + WindowID).style.visibility = 'visible';

    if (Timeout[WindowID])
 window.clearTimeout(Timeout[WindowID]);
}

function OutHelpWindow(WindowID) {

    if (Timeout[WindowID])
    {
 window.clearTimeout(Timeout[WindowID]);
    }
   Timeout[WindowID] = window.setTimeout('HideHelpWindows(\''+WindowID+'\')', 500);
}

</script>
</head>
<body>


<a href="#" onmouseover="OverHelpWindow('sub_dokumenty');" onmouseout="OutHelpWindow('sub_dokumenty');">Dokumenty</a>
<div style="visibility:hidden;" id="HelpWindowsub_dokumenty" onmouseover="OverHelpWindow('sub_dokumenty');" onmouseout="OutHelpWindow('sub_dokumenty');"><ul><li><a href="doc/statut.doc">Statut szkoły</a></li><li><a href="doc/regulamin_dyskotek.doc">Regulamin dyskotek</a></li></ul></div>
</body>
revyag
Cytat
Kod
function see (a)  {

a.style.display= 'block';
a.style.visibility = "visible";
}

function see2 (a)  {

a.style.display= 'none';
a.style.visibility = "hidden";
}

A po co tak ? Styl visibility nie jest potrzebny, bo wszystko załatwia display.
ano
Ok, dzięki. Już wszystko działa.. (tzn nie wszystko, ale to co nie działa leży po stronie CSS'a, więc umieszcze to w odpowiednim dziale na forum... smile.gif )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.