Willkommen in der Webstatt Zum Webstatt Blog und Stories
bastey bastey am 09.03.06 19:53

Hallo, ich habe ein Problem.
Folgende Funktion wird durch einen Buttonklick aufgeruffen:

var acpMenuView = 1;

function acpMenu ( )
{
if ( acpMenuView == '1' )
{
acpNavigationButton.style.display = 'none'
acpNavigationMenu.style.display = 'block'
acpMenuView = 2;
window.setTimeout("timedCloseAcpMenu()",20*1000);
return true;
}
else
{
acpNavigationButton.style.display = 'block'
acpNavigationMenu.style.display = 'none'
acpMenuView = 1;
return true;
}
}


In meinem Liebsten, dem Opera, funktioniert es. Aber in der Gecko-Engine (safari, Firefox) geht net .. wer ne Idee?

netcup.de Warum gibt es hier Werbung?
Rene Rene am 09.03.06 20:06

Fehlermeldung? Javascript-Konsole?
Evtl. eine alte FF-Version die bestimmte css-eigenschaften nicht unterstützt? (display)
...

bastey bastey am 09.03.06 20:08

Fehler: acpNavigationButton is not defined Quelldatei: http://127.0.0.1/moep/dionysos.js Zeile: 15

Michael Michael am 09.03.06 20:09

Was klappt denn dabei nicht?
Soweit ich das Script lokal testen kann (also insbesondere ohne den Timeout), funktioniert es...

Michael

// edit

Ja, die Elemente musst du vorher schon irgendwo definieren... Alternativ kannst du um die Elementzugriffe eine IF Abfrage setzen. Also beispielsweise

if(acpNavigationButton) {
acpNavigationButton.style.display = 'none'
}

bastey bastey am 09.03.06 21:13

Die Elemente sind in der Seite als DIV definiert.


<div id="acpDivContainer" >
<div style="text-align : right; padding : 5px; float:right;">
<img onclick="javascript: acpMenuHideTotal();" src="./dionysos/src/close.png" class="icon" alt="ACP Navigation aufklappen" />
</div>
<div id="acpNavigationButton" style="display:block;">
<button onclick="javascript: acpMenu();" >
<img src="./dionysos/src/redo.png" class="icon32" alt="ACP Navigation aufklappen" />
ACP Menü aufklappen
</button>
</div>
<div id="acpNavigationMenu" style="display:none;">
<ul>
<li style="margin-bottom:15px;"><img src="./dionysos/src/view.png" class="icon" alt="Overview" /> <a href="admin_start.py">Übersicht</a></li>
<li><img src="./dionysos/src/menu.png" class="icon" alt="Menuedit" /> <a href="admin_menueditor.py">Menü Editor</a></li>
<li><img src="./dionysos/src/text.png" class="icon" alt="Inhalte" /> <a href="admin_content.py">Inhalte</a></li>
<li style="margin-top:25px;"><img src="./dionysos/src/exit.png" class="icon" alt="Logout" /> <a href="admin_logout.py">Logout</a></li>
</ul>
<button onclick="javascript: acpMenu();" >
<img src="./dionysos/src/undo.png" class="icon32" alt="ACP Navigation zuklappen" />
ACP Menü zuklappen
</button>
</div>
</div>

Michael Michael am 09.03.06 21:16

Aber du greifst ja nicht auf die Elemente zu sondern auf einen gleichnamige Variable.
Du musst vor die Funktion die Zuweisung durchführen, ala:

var acpNavigationButton = document.getElementById('acpNavigationButton');

bastey bastey am 09.03.06 21:19

Aha ... naja, im Opera hat es halt funktioniert.
Und ich hatte das mit document.acpNavigationButton versucht.

Funktioniert.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt