SELFHTML

Forums-Auslese
Dynamisches Positionieren

Diese Seite ist ein Dokument mit Informationstext

nach unten Objektanimation für Netscape 4.x und IE 4.x
nach unten Neuer Beitrag in der Forums-Auslese Dynamische Fußzeile ohne Frameset
nach unten Neuer Beitrag in der Forums-Auslese IE: Höhe und Breite von <div>'s ermitteln
nach unten Neuer Beitrag in der Forums-Auslese IE: Anzeige-Reihenfolge von Bildern festlegen
nach unten Neuer Beitrag in der Forums-Auslese IE: Fenster im Vollbildmodus öffnen

nach unten 

Objektanimation für Netscape 4.x und IE 4.x

Basierend auf einem Forums-Beitrag vom 30.07.1998 von:
E-Mail Paul Hobrecker, hobrecker@solutions-partner.de

Sowohl in Netscape als auch im Microsoft Internet-Explorer können im Browserfenster Bereiche mit beliebigem HTML-Inhalt frei positionierbar definiert werden. Dies geschieht bei Netscape mit Layern, deren Funktionalität beim Internet-Explorer im "document.all"-Objekt enthalten ist (lesen Sie hierzu Seite Dynamisches Positionieren (Netscape) und Seite Das all-Objekt). Das Code-Beispiel aus diesem Beitrag hat den Vorteil, mit relativ wenig Aufwand auf beiden Browsern zu laufen. Insbesondere kann hier für beide Browser der selbe HTML-Block verwendet werden. Damit dies funktioniert, muss man wissen, dass die Positionierung bei beiden Browsern mit dem <div ...>-Tag auf nahezu gleiche Weise funktioniert. Lediglich die unterschiedliche JavaScript-Referenzierung der Koordinaten,

wird im Beispiel durch die String-Variablen Objekt_Referenz und IE_Style gelöst, welche abhängig vom Browsertyp in function start() definiert werden. In der ersten Variable wird der Vorsatz document.all bzw. document.layers und in der zweiten der Zusatz .style für IE 4.x gespeichert. In der Funktion Objekt_Positionieren(Objekt_Name, links, oben) wird nun mit diesen Variablen und dem Objektnamen ein String zusammengesetzt, der genau einem JavaScript-Befehl zur Positionierung entspricht und dieser mit der eval("...")-Funktion ausgeführt.

<html>
<head><title>Bewegliche Objekte für Netscape und Microsoft IE</title>
<script language="JavaScript">
<!--
  var pausenLaenge = 0,
      Objekt1_Step = 5,
      Objekt2_Winkelgeschw = 0.05,
      Objekt1_XPos = 200,
      Objekt2_Winkel = 0,
      Objekt_Referenz="",
      IE_Style="";

  function start() {
    if (navigator.appName == "Netscape") {
        Objekt_Referenz="document.layers";
        IE_Style="";
        }else{
        Objekt_Referenz="document.all";
        IE_Style=".style";
    }
    bewegung();
  }

  function bewegung() {
    Objekt_Positionieren("Objekt1",Objekt1_XPos,10);
    if (Objekt1_XPos > 300 || Objekt1_XPos < 100)
        Objekt1_Step = Objekt1_Step * (-1);
    Objekt1_XPos += Objekt1_Step;
    Objekt2_XPos = Math.sin(Objekt2_Winkel)*70 + 100;
    Objekt2_YPos = Math.cos(Objekt2_Winkel)*70 + 200;
    Objekt_Positionieren("Objekt2", Objekt2_XPos, Objekt2_YPos);
    Objekt2_Winkel += Objekt2_Winkelgeschw;
    MeinTimer = window.setTimeout("bewegung();", pausenLaenge);
  }

  function Objekt_Positionieren(Objekt_Name, links, oben){
    eval(Objekt_Referenz+'["'+Objekt_Name+'"]'+IE_Style+'.top = oben');
    eval(Objekt_Referenz+'["'+Objekt_Name+'"]'+IE_Style+'.left = links');
  }
//-->
</script>
</head>
<body bgcolor="#ffffff" onload="start()">
  <div id="Objekt1" style="position:absolute;top:200;left:100;">
       <img src="objekt1.gif" width="90" height="90" border="0" alt="">
  </div>
  <div id="Objekt2" style="position:absolute;top:200;left:300;">
       <img src="objekt2.gif" width="90" height="90" border="0" alt="">
  </div>
</body></html>

Weitere Erläuterungen zu diesem Beispiel finden Sie im Quellcode der entsprechenden Datei unter:
deutschsprachige Seite http://www.videoaktuell.de/dhtml

nach obennach unten 

Dynamische Fußzeile ohne Frameset

Basierend auf einem Forums-Beitrag vom 11.01.1999 von:
E-Mail Ralph Gröger, r.groeger@abo.freiepresse.de

Wenn man in einem HTML-Dokument eine Fußzeile oder ein Objekt benötigt, welches z.B. immer am unteren Fensterrand fixiert ist, kann man dies zum einen über ein Frameset erreichen. Interessant ist aber auch die hier vorgestellte Methode, ein (<div>)-Objekt dynamisch an den Fensterrand zu binden. Das Beispiel funktioniert mit Netscape 4.x sowie IE 4 und 5.

Methode

Beispiel: Dynamische Fußzeile

<html><head><title>Dynamische Fußzeile ohne Frameset</title></head>
<script language="JavaScript">
function watching()
{
  if(document.layers) {
    document.Fusszeile.top = window.innerHeight-25;
  }
  if(document.all) {
    document.all.Fusszeile.style.top 
      = window.document.all.fenstergroesse.offsetHeight-30; 
  }
  window.onresize = watching;
}
</script>
<body ID="fenstergroesse"  onLoad="watching()" >
<DIV ID="Fusszeile" STYLE="position:absolute; top:auto;">
<PRE>Dies ist ein Text, der ganz unten stehen soll</PRE>
</DIV>
</body>
</html>

nach obennach unten 

IE: Höhe und Breite von <div>'s ermitteln

Basierend auf einem Forums-Beitrag vom 25.03.1999 von:
E-Mail Stefan Muenz, muenz@csi.com

Um einen <div>-Bereich dynamisch zu positionieren, ist es oft nützlich, wenn man dessen eigene Abmessungen kennt. Beim Internet Explorer funktioniert das wie folgt: Angenommen, im Dokument wurde mit

  <div id="Bereichsname" style="position:absolute; 
  [weitere CSS-Angaben zur Positionierung]">...</div>

ein Bereich definiert. Dann erhält man dessen Höhe und Breite durch folgende Befehle:

  if(document.all) /* MSIE 4+ */
  {
    Hoehe = document.all.Bereichsname.offsetHeight; 
    Breite = document.all.Bereichsname.offsetWidth; 
  }
nach obennach unten 

IE: Anzeige-Reihenfolge von Bildern festlegen

Basierend auf einem Forums-Beitrag vom 03.02.1999 von:
E-Mail Svenja Noä, svenja@insigno.de

Befinden sich in einem HTML-Dokument mehrere Bilder, so ist die Reihenfolge, in der diese beim Laden der Seite angezeigt werden, im allgemeinen recht zufällig. Manchmal wird jedoch aus optischen Gründen gewünscht, die Reihenfolge der Anzeige vorgeben zu können. Dies kann mit Hilfe der Style-Option visibility und der window.setTimeout("function", ms)-Funktion bewerkstelligt werden. Das folgende Beispiel hierzu funktioniert mit IE4 und IE5.

Beispiel: Anzeige-Reihenfolge von 3 Bildern festlegen

<html><head><title>bilder laden</title>
<script language="JavaScript">
<!--
function showPic() {
  window.setTimeout("document.all.bild1.style.visibility = 'visible'",1000);
  window.setTimeout("document.all.bild2.style.visibility = 'visible'",2000);
  window.setTimeout("document.all.bild3.style.visibility = 'visible'",3000);
}  
//-->
</script>
</head>
<body onLoad="showPic()">

<img id="bild1" src="bild1.jpg" width=211 height=137 border="0" style="visibility:hidden">
<img id="bild2" src="bild2.jpg" width=211 height=137 border="0" style="visibility:hidden">
<img id="bild3" src="bild3.jpg" width=211 height=137 border="0" style="visibility:hidden">

</body></html>

nach obennach unten 

IE: Fenster im Vollbildmodus öffnen

Basierend auf einem Forums-Beitrag vom 04.01.1999 von:
E-Mail Stefan Muenz, muenz@csi.com

Für gewisse Anwendungen ist es praktisch, ein Browser-Dokument einfach im Vollbildmodus zu öffnen, z.B. für HTML-Präsentationen in öffentlich zugänglichen Räumen (Museen etc.), bei denen verhindert werden soll, dass ein Besucher das Fenster einfach schließt. Beim Internet-Explorer existiert dafür eine spezielle Anweisung, "fullscreen=yes", die im window-features-String der window.open-Methode angegeben wird. Kleine Warnung: Es ist etwas mühsam, den Internet Explorer im Vollbildmodus wieder zu schließen, was aber - wie erwähnt - beabsichtigt ist.

Beispiel: URL im Vollbildmodus öffnen

<html><head><title>TESTPAGE</title></head>
<body>
<script language="JavaScript">
<!--
if (navigator.appName == "Microsoft Internet Explorer") {  
  newwindow=window.open("http://irgendeine.url.com","Fenster","fullscreen=yes");
}
//-->
</script>
</body>
</html>

nach oben
weiter:Weiter Seite Dynamisches Ändern von Inhalten
zurück:Zurück Seite JavaScript - Sonstiges
 

© 2000 Seite das Redaktionsteam