Forenindex » Programmierung/Entwicklung » JavaScript » Funktionen ein- und ausschalten

Funktionen ein- und ausschalten

Larvarin
Beiträge gesamt: 53

5. Okt 2004, 21:42
Bewertung:

gelesen: 800

Beitrag als Lesezeichen
Ich mache so ein Javascript spiel, bei dem man die richtigen Lösungen zu den Fragen in Felder eingibt, und der Computer sie dann programmiert. Dazu möchte ich noch was hinzufügen: wenn man eine bestimmte falsche Antwort eingibt, kommt eine Meldung die sagt z.B. "Tipp: du musst das Nomen im Akkusativ eingeben. Das war Dativ" oder so. Allerdings könnten diese Popup-tipps etwas störend sein, deshalb wäre es gut wenn der User die Popup-hilfen ein- und ausschalten könnte. Gibts irgendsoeinen code? Z.B. ist oben auf der Seite ein Knopf mit der Schrift "Hinweise ein/ausschalten" oder eine Checkbox, und wenn diese angeklickt werden wird die Funktion "Hinweise" (oder wie nennt sich das, boolean?) auf "true" bzw. auf "false" gesetzt?
Bin noch ziemlich neu bei Javascript. Hoffe ich versuche hier jetzt nicht etwas, das nur bei Java geht.

Funktionen ein- und ausschalten

bline
Beiträge gesamt: 169

14. Okt 2004, 22:20
Bewertung:

gelesen: 797

Beitrag als Lesezeichen
Hier kannst Du mit Layern/Ebenen arbeiten. Ist aber eine tricky Sache.

Hier mein funktionstüchtiges Standard-Script, dass ich auf einigen Seiten ab Browser-Versionen 4.X eingesetzt habe. Es ist auch kommentiert. Achte auf die IDs bzw. Layernamen.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Layer-Magic</title>
<script type="text/javascript" language="javascript1.2" charset="iso-8859-15">
<!--
// BrowserID (DOM) siehe check();
var browser;
var openlayer = '';
/////////////////////////////////////////////////////////////////
// Browsercheck
/////////////////////////////////////////////////////////////////
function init(){
if(!document.all || !document.layers || !document.getElementById){ browser = 0; }
if(document.layers){ browser = 1; }
if(document.all){ browser = 2; }
if(document.getElementById){ browser = 3; }
// Spezifische Anweisungen
}
// Kontrolle der Layers
function layerctrl(layername){
if(openlayer != ''){
if(openlayer == layername){
hideLayer(openlayer);
openlayer = '';
}
if(openlayer != layername && openlayer != ''){
hideLayer(openlayer);
showLayer(layername);
openlayer = layername;
}
}
else{
showLayer(layername);
openlayer = layername;
}
}
/////////////////////////////////////////////////////////////////
// Routine Layer EINblenden
/////////////////////////////////////////////////////////////////
function showLayer(layername){
if (browser == 1){ window.document.layers[layername].visibility = 'show'; }
if ( browser == 2){ document.all[layername].style.visibility = 'visible'; }
if ( browser == 3){ document.getElementById(layername).style.visibility = 'visible'; }
}
/////////////////////////////////////////////////////////////////
// Routine Layer AUSblenden
/////////////////////////////////////////////////////////////////
function hideLayer(layername){
if (browser == 1){ window.document.layers[layername].visibility = 'hide'; }
if ( browser == 2){ document.all[layername].style.visibility = 'hidden'; }
if ( browser == 3){ document.getElementById(layername).style.visibility = 'hidden'; }
}
//-->
</script>
<style type="text/css"><!--
/* Hier werden die einzublendenden Ebenen definiert */
#tipp { position: absolute; left: 300px; top: 50px; width: 248px; height: 368px; z-index: 1; visibility: hidden; display: block; color: #000000 }
#warnung { position: absolute; left: 300px; top: 50px; width: 248px; height: 368px; z-index: 2; visibility: hidden; display: block; color: #000000 }
--></style>
</head>
<body onload="init();">
<!-- Unsichtbare, einzublendende Ebene -->
<div id="tipp" style="background-color:#cccccc">
<p> Hier ist der Tipp </p>
<p>Diesen kann man auch <a href="#" onClick="layerctrl('tipp');">hier schliessen!</a></p>
</div>
<!-- Unsichtbare, einzublendende Ebene -->
<div id="warnung" style="background-color:#cccccc">
<p> Hier ist die Warnung </p>
<p>Diesen kann man auch <a href="#" onClick="layerctrl('warnung');">hier schliessen!</a></p>
</div>
<!-- Sofort sichtbarer Teil -->
<p>Das hier ist sichtbar am Anfang<br>
Hier werden mit Klicks die Ebenen ein- ODER ausgeblendet<br>
<a href="#" onClick="layerctrl('tipp');">Tipp</a>
&nbsp;
<a href="#" onClick="layerctrl('warnung');">Warnung</a>
</p>
</body>
</html>

Gruss aus Zürich
---------------------------
soehne.ch / toechter.ch
http://www.soehne.ch
---------------------------