Beispiele bei selfHTML
Benjamin Prengel
- dhtml
Hi Leute,
ich würde gerne wissen, ob mir jemand mal kurz helfen kann. Auch wenn ich die Beispiele schon mehrfach komplett durchgelesen habe, fällt mir leider kein Fehler auf:
Ich will die dhtml Beispiele von der automatischen Datumsanzeige und von dem "dynamischen" Navigieren (Navi-Leise blendet sich am linken Rand ein, wenn die Maus den bestimmten Bereich berührt) in eine Seite packen, aber leider funktioniert es bei mir (trotz vielem Herumgefummele) nicht. Meine Quellcode:
<html>
<head>
<title>NTILHA</title>
<script type="text/javascript" src="dhtml.js"></script>
<script type="text/javascript">
<!--
function ZeitAnzeigen() {
var Wochentagname = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturay");
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
if(Jahr < 999) Jahr += 1900;
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var Sekunden = Jetzt.getSeconds();
var WoTag = Jetzt.getDay();
var Vortag = ((Tag < 10) ? "0" : "");
var Vormon = ((Monat < 10) ? ".0" : ".");
var Vorstd = ((Stunden < 10) ? "0" : "");
var Vormin = ((Minuten < 10) ? ":0" : ":");
var Vorsek = ((Sekunden < 10) ? ":0" : ":");
var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
var Gesamt = Wochentagname[WoTag] + ", " + Datum + ", " + Uhrzeit;
if(DHTML) {
if(NS) setCont("id","Uhr",null,"<span class="Uhr">" + Gesamt + "</span>");
else setCont("id","Uhr",null,Gesamt);
}
else return;
window.setTimeout("ZeitAnzeigen()",1000);
}
//-->
</script>
<style type="text/css">
<!--
#Uhr { position:absolute; top:1px; right:10px; }
.Uhr { font-family:Arial; font-size:10px; color:black; }
-->
</style>
<script type="text/javascript" src="dhtml.js"></script>
<script type="text/javascript">
<!--
function Menue() {
if(DOM) {
if(MS)
getElem("id","Nav",null).style.top = document.body.scrollTop + 50;
else
getElem("id","Nav",null).style.top = window.pageYOffset + 50;
}
if(DOM || MS) {
if (!DOM) getElem("id","Nav",null).style.top = document.body.scrollTop + 50;
if (OP) getElem("id","NavLinks",null).style.pixelTop = NavLinksPos;
getElem("id","Nav",null).style.visibility = "visible";
}
else if(NS) {
getElem("id","Nav",null).top = window.pageYOffset + 50;
getElem("id","Nav",null).visibility = "show";
}
}
function noMenue() {
if(DOM || MS)
getElem("id","Nav",null).style.visibility = "hidden";
if(NS)
getElem("id","Nav",null).visibility = "hide";
}
function handleMove(ev) {
if(!MS) {
Event = ev;
if(Event.screenX < 270)
Menue();
else if(Event.screenX > 420)
noMenue();
}
}
function MShandleMove() {
if(MS) {
if(window.event.clientX < 270)
Menue();
else if(window.event.clientX > 420)
noMenue();
}
}
function Event_init() {
if(DOM && !MS && !OP) {
getElem("tagname","body",0).addEventListener("mousemove", handleMove, true);
}
if(NS) {
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=handleMove;
}
if (DOM && OP) {
document.onmousemove=handleMove;
NavLinksPos=42; //Position des Bereiches NavLinks
getElem("id","NavLinks",null).style.pixelTop=NavLinksPos;
}
if (MS) getElem("tagname","body",0).onmousemove=MShandleMove;
}
//-->
</script>
<style type="text/css">
<!--
body { margin-left:50px; margin-top:20px; margin-right:50px; }
#Nav { position:absolute; top:50px; left:0px; padding:0px; visibility:hidden; margin:0px; }
#NavLinks { position:absolute; top:42px; left:42px; padding:0px; }
a.nav:link { color:#000080;
font-family:Tahoma,sans-serif; font-weight:bold; font-size:10pt; text-decoration:none; }
a.nav:visited { color:#000080;
font-family:Tahoma,sans-serif; font-weight:bold; font-size:10pt; text-decoration:none; }
a.nav:hover { color:#FFFFFF; background-color:#000080;
font-family:Tahoma,sans-serif; font-weight:bold; font-size:10pt; text-decoration:none; }
a.nav:active { color:#000080;
font-family:Tahoma,sans-serif; font-weight:bold; font-size:10pt; text-decoration:none; }
-->
</style>
</head>
<body onLoad="window.setTimeout('ZeitAnzeigen()',1000)" onLoad="Event_init()" background="navigation_back.gif" bgcolor="#FFFFFF">
<div id="Uhr" class="Uhr"> </div>
<div id="Nav">
<img src="navigation.gif" width="250" height="450" border="0" alt="">
<div id="NavLinks">
<a class="nav" href="http://www.benjamin-prengel.de.vu" target="_blank"><b>Author</b></a><br>
<a class="nav" href="http://www.dazza.de.vu" target="_blank"> <b>Commissioner</b></a><br>
</div>
</div>
</body>
</html>
Ist etwas sehr lang ich weiss, aber vielleicht kann mir ja einer von euch helfen :-)
Ciao,
Benjamin
Привет, Benjamin!
ich würde gerne wissen, ob mir jemand mal kurz helfen kann.
Bestimmt.
Ich will die dhtml Beispiele von der automatischen Datumsanzeige und von dem "dynamischen" Navigieren (Navi-Leise blendet sich am linken Rand ein, wenn die Maus den bestimmten Bereich berührt) in eine Seite packen, aber leider funktioniert es bei mir (trotz vielem Herumgefummele) nicht.
Was heißt "funktioniert nicht"? Stürzt der Browser ab? Stehen Fehlermeldungen in der JS-Konsole? (Wenn ja, welche?)
Meine Quellcode:
Es heißt _der_ Quellcode, also auch mein_ Quellcode. ;-)
Da fehlt der DocType.
<html>
<head>
<title>NTILHA</title>
<script type="text/javascript" src="dhtml.js"></script>
(Einbinden der DHTML-Bibliothek)
<script type="text/javascript">
[...Kalender-Funktion...]
</script>
<style type="text/css">
[...Kalender-Styles...]
</style><script type="text/javascript" src="dhtml.js"></script>
Warum bindest du die DHTML-Bibliothek ein zweites Mal ein?
<script type="text/javascript">
[...Menü-Funktion...]
</script>
<style type="text/css">
[...Menü-Styles...]
</style>
</head>
<body onLoad="window.setTimeout('ZeitAnzeigen()',1000)" onLoad="Event_init()" background="navigation_back.gif" bgcolor="#FFFFFF">
1. Warum benutzt du für die Hintergrund-Formatierung im body-Element kein CSS?
2. Der onLoad-EventHandler darf nur einmal im body-Element notiert werden. Trenne mehrere Anweisungen durch Semikolon.
[...restlicher Code...]
</body>
</html>Ist etwas sehr lang ich weiss,
In der Tat. Aber ich habe das mal gekürzt. ;-)
aber vielleicht kann mir ja einer von euch helfen :-)
Du kannst ja schonmal meine Hinweise in die Tat umsetzen. :-)
Пока!
Sven aus Bonn
Hey,
danke erstmal, dass du mir geantwortet hast, Sven a.k.a. Arx.
Also, mein Problem bei alledem ist Folgendes:
Wenn ich eine Seite mit dem zuerst genannten Quellcode schreibe, wird zwar die Datums-/Uhrzeitanzeige angegeben, aber die Menüleiste links erscheint nicht, auch wenn man den Bereich mit der Maus berührt, der ja eigentlich das event auslösen soll.
Zu den angegebenen Verbesserungen: Ich habe das mal soweit umgesetzt, jedoch bleibt der "Fehler". Ich habe die onLoad - Anweisungen jetzt jeweils durch Semikola getrennt, doch nach wie vor tut sich mit dem Menü nichts :-(
Eine Frage zu deinen Angaben hätte ich allerdings noch, vielleicht ist das ja "des Pudels Kern":
- Warum benutzt du für die Hintergrund-Formatierung im body-Element kein CSS?
Wie meinst du das? Ich weiss nicht recht, wie der Quellcode dabei dann aussehen soll :-/
Danke für jede weitere Hilfe,
Привет, Benjamin!
Wenn ich eine Seite mit dem zuerst genannten Quellcode schreibe, wird zwar die Datums-/Uhrzeitanzeige angegeben, aber die Menüleiste links erscheint nicht, auch wenn man den Bereich mit der Maus berührt, der ja eigentlich das event auslösen soll.
Hm...
Zu den angegebenen Verbesserungen: Ich habe das mal soweit umgesetzt, jedoch bleibt der "Fehler".
Was meldet die JS-Konsole?
Ich habe die onLoad - Anweisungen jetzt jeweils durch Semikola getrennt,
Bitte diese Stelle deines Quellcodes nochmal posten.
doch nach wie vor tut sich mit dem Menü nichts :-(
Eine Frage zu deinen Angaben hätte ich allerdings noch, vielleicht ist das ja "des Pudels Kern":
- Warum benutzt du für die Hintergrund-Formatierung im body-Element kein CSS?
Wie meinst du das? Ich weiss nicht recht, wie der Quellcode dabei dann aussehen soll :-/
Na ganz simpel: Du weist dem body-Element den Hintergrund (Grafik und Farbe) nicht über HTML-Attribute zu, sondern über die entsprechenden CSS-Eigenschaften.
Пока!
Sven aus Bonn
Also, die JS - Console meldet bei mir rein gar nichts.
<body onLoad="window.setTimeout('ZeitAnzeigen()',1000)" ; "Event_init()" ; background="navigation_back.gif" ; bgcolor="#FFFFFF">
Das ist der letzte Versuch von mir gewesen, den onLoad - Bereich zu korrigieren, sodass es klappen könnte.
CSS für Body-Element versuche ich später, das kann ja eigentlich nicht der auschlaggebende Punkt für den Fehler sein, oder?!
Danke für die Mühe,
Привет, Benjamin!
Also, die JS - Console meldet bei mir rein gar nichts.
Hm.
<body onLoad="window.setTimeout('ZeitAnzeigen()',1000)" ; "Event_init()" ; background="navigation_back.gif" ; bgcolor="#FFFFFF">
<scnr> </scnr>
Was ist das denn für ein teuflisches Konstrukt?
Das geht so:
<body onLoad="window.setTimeout('ZeitAnzeigen()',1000);Event_init();" style="background: url(navigation_back.gif) #ffffff">
Das ist der letzte Versuch von mir gewesen, den onLoad - Bereich zu korrigieren, sodass es klappen könnte.
So, wie du das da hast, klappt das wohl tendenziell eher nicht.
CSS für Body-Element versuche ich später, das kann ja eigentlich nicht der auschlaggebende Punkt für den Fehler sein, oder?!
Nö. Ich habe das nur oben schon korrigiert.
Пока!
Sven aus Bonn
Oh man,
danke für deine Hilfe, jetzt klappt es endlich...
weiss auch nicht, welcher Dämon mich da geritten hat, das so zu schreiben *fg*
Nochmal danke, ich denke, der Thread kann jetzt geschlossen werden! :-)