chriso: Doctype verhindert Javascript

Hallo,

hoffe mir kann jemand helfen!?
Ich habe ein fliegendes Menü (floating div menu - sliding effekt) welches leider nicht ausgeführt wird solange ich den Doctype

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

drinnen lasse.

Das ist der Code des Javascripts:

  
<script>  
if (!document.layers)  
document.write('<div id="divStayTopLeft" style="position:absolute">')  
</script>  
  
<layer id="divStayTopLeft">  
  
<!--EDIT BELOW CODE TO YOUR OWN MENU-->  
<table border="1" width="130" cellspacing="0" cellpadding="0">  
  <tr>  
    <td width="100%" bgcolor="#FFFFCC">  
      <p align="center"><b><font size="4">Menu</font></b></td>  
  </tr>  
  <tr>  
    <td width="100%" bgcolor="#FFFFFF">  
      <p align="left"> <a href="http://www.dynamicdrive.com">Dynamic Drive</a><br>  
       <a href="http://www.abcsdfs.de">text</a><br>  
       <a href="http://www.abcsdfsd.com">test</a><br>  
       <a href="http://www.sdfdsf.com">text</a><br>  
       <a href="http://www.sdfsdfs.de">tester</a></td>  
  </tr>  
</table>  
<!--END OF EDIT-->  
  
</layer>  
  
  
<script type="text/javascript">  
  
//Enter "frombottom" or "fromtop"  
var verticalpos="frombottom"  
  
if (!document.layers)  
document.write('</div>')  
  
function JSFX_FloatTopDiv()  
{  
	var startX = 3,  
	startY = 150;  
	var ns = (navigator.appName.indexOf("Netscape") != -1);  
	var d = document;  
	function ml(id)  
	{  
		var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];  
		if(d.layers)el.style=el;  
		el.sP=function(x,y){this.style.left=x;this.style.top=y;};  
		el.x = startX;  
		if (verticalpos=="fromtop")  
		el.y = startY;  
		else{  
		el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;  
		el.y -= startY;  
		}  
		return el;  
	}  
	window.stayTopLeft=function()  
	{  
		if (verticalpos=="fromtop"){  
		var pY = ns ? pageYOffset : document.body.scrollTop;  
		ftlObj.y += (pY + startY - ftlObj.y)/8;  
		}  
		else{  
		var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;  
		ftlObj.y += (pY - startY - ftlObj.y)/8;  
		}  
		ftlObj.sP(ftlObj.x, ftlObj.y);  
		setTimeout("stayTopLeft()", 10);  
	}  
	ftlObj = ml("divStayTopLeft");  
	stayTopLeft();  
}  
JSFX_FloatTopDiv();  
</script>  

Der Doctype sollte bleiben. Gibt es eine möglichkeit das Javascript anzupassen, bzw. das Script vom Doctype auszuschließen?

  1. Ich habe ein fliegendes Menü (floating div menu - sliding effekt) welches leider nicht ausgeführt wird solange ich den Doctype

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    
    >   
    > drinnen lasse.  
      
    Hast du dir mal die Mühe gemacht den Code zu validieren? Denn das ist genau das Problem.  
      
    Wobei ich aber nicht verstehe, warum du (X)HTML code schreibst und gleichzeitig Browser aus den 90'ern unterstützen möchtest? Da wäre HTML 3.2 eher angebracht. Ansonsten würde ich eher zu einem HTML5 Doctype raten, das Pseudo XHTML will heute niemand mehr.  
      
    Struppi.
    
    1. @@Struppi:

      nuqneH

      das Pseudo XHTML will heute niemand mehr.

      Doch, aus den gleichen Gründen wie eh und je.

      Qapla'

      PS. Und Bindestriche in Komposita will heute auch niemand mehr?

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Danke erst einmal für Eure ganzen Hilfen.
        Sitze da jetzt schon einige Stunden dran und bekomm es einfach nicht zum laufen.

        Hat nicht jemand Lust das Javascript anzupassen das es mit dem Doctype funktioniert? Mir wären das 20,-Euro wert. (per paypal)

        Andernfalls muss ich mir mal ein funktionierendes Script herholen.

        Danke Euch schon mal!

    2. Ansonsten würde ich eher zu einem HTML5 Doctype raten, das Pseudo XHTML will heute niemand mehr.

      Solange HTML5 nichtmal ansatzweise fertig ist, kann man die Dinge "in the Wild" nur dort antreffen wo man es nicht mit Kunden zu tun hat, die antiquitäten ihr eigen nennen.

      Zudem: HTML5 mit XHTML 1.0 zu vergleichen ist ein Äpfel- und Birnen-Verleich.

      Auch wenn es für den Autor keine signifikaten Vorteile bietet, eine XHTML-Notation zu verwenden, ist es auf lange sich gesehen nicht verkehrt, sich diese Syntaxform anzueigenen. Sie ist ganz einfach leichter und schneller weiterverarbeitbar.

      1. Ansonsten würde ich eher zu einem HTML5 Doctype raten, das Pseudo XHTML will heute niemand mehr.

        Solange HTML5 nichtmal ansatzweise fertig ist, kann man die Dinge "in the Wild" nur dort antreffen wo man es nicht mit Kunden zu tun hat, die antiquitäten ihr eigen nennen.

        Was hast du an "HTML5 Doctype" nicht verstanden? Ich habe nicht empfohlen HTML5 Tags zu verwenden. Es gibt keine Probleme mit dem DOCTYPE und manche HTML5 Tags sind auch schon im Einsatz.

        Auch wenn es für den Autor keine signifikaten Vorteile bietet, eine XHTML-Notation zu verwenden, ist es auf lange sich gesehen nicht verkehrt, sich diese Syntaxform anzueigenen. Sie ist ganz einfach leichter und schneller weiterverarbeitbar.

        HTML5 bietet Vorteile, es ganz einfach leichter und schneller benutzbar und erlenbar.

        Struppi.

        1. HTML5 bietet Vorteile, es ganz einfach leichter und schneller benutzbar und erlenbar.

          Das glaubst du wohl selbst nicht - also jemand aufhört "<div class="ueberschrift">foo</div>" zu notieren, nur weil da plötzlich HTML5 dran steht :D

          1. HTML5 bietet Vorteile, es ganz einfach leichter und schneller benutzbar und erlenbar.

            Das glaubst du wohl selbst nicht - also jemand aufhört "<div class="ueberschrift">foo</div>" zu notieren, nur weil da plötzlich HTML5 dran steht :D

            Und was hat das mit der Aussage zu tun? Es ist gültiges HTML, egal in welcher Version.

            Struppi.

            1. @@Struppi:

              nuqneH

              Es ist gültiges HTML, egal in welcher Version.

              http://forum.de.selfhtml.org/archiv/2007/2/t145748/#m945823, Punkt 2.

              Qapla'

              --
              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
              (Mark Twain)
              1. Es ist gültiges HTML, egal in welcher Version.

                http://forum.de.selfhtml.org/archiv/2007/2/t145748/#m945823, Punkt 2.

                und? hab ich das behauptet?

                Struppi.

      2. @@suit:

        nuqneH

        Auch wenn es für den Autor keine signifikaten Vorteile bietet, eine XHTML-Notation zu verwenden

        ?? Für wen denn sonst, wenn nicht für den Autor.

        ist es auf lange sich gesehen nicht verkehrt, sich diese Syntaxform anzueigenen. Sie ist ganz einfach leichter und schneller weiterverarbeitbar.

        Also doch vorteilhaft für den Autor.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Auch wenn es für den Autor keine signifikaten Vorteile bietet, eine XHTML-Notation zu verwenden

          ?? Für wen denn sonst, wenn nicht für den Autor.

          Für die Weiterverarbeitung durch andere - die nicht notwendigerweise der Autor sein müssen ;)

          ist es auf lange sich gesehen nicht verkehrt, sich diese Syntaxform anzueigenen. Sie ist ganz einfach leichter und schneller weiterverarbeitbar.

          Also doch vorteilhaft für den Autor.

          Ob man jetzt HTML oder XHTML schreibt ist ansich egal wenn man sich an entsprechende Regeln hält.

          Wenn ich natürlich HTML bis zu seinem Limit ausreize, wird es etwas schwer verständlich - bei der XML-Notationsform kann man hingegen garnicht auf die Idee kommen, sich die Arbeit schwer zu machen - das kann man durchaus als Vorteil sehen - aber auch als Nachteil wenn man darauf angewiesen ist, schnell mal "Alte Schnipsel" einzubauen.

          Und komm mir jetz nicht mit "ist doch schnell umgebaut" - in der Praxis ist das oft zeitlich nicht drin.

  2. Hi,

    Ich habe ein fliegendes Menü

    if (!document.layers)

    ...

    <layer id="divStayTopLeft">

    Aus welchem Museum für prähistorische Browser hast Du denn das geholt?

    Das Teil benutzt den Fall, daß ein Uralt-Netscape, dessen User vielleicht noch ein Millionstel Deiner Besucher darstellen (wenn überhaupt so viel ...) als Standardfall, und versucht dann für die restlichen 999999 Anteile Deiner Besucher, diesen Fehler zu korrigieren ...

    Der Doctype sollte bleiben. Gibt es eine möglichkeit das Javascript anzupassen, bzw. das Script vom Doctype auszuschließen?

    Schmeiß das Layer weg, und schreib das bisher per document.write gesetzte div direkt ins HTML.
    Und das Script sollte statt mit layers und all rumzupfuschen, einfach standardisierte Methoden (getElementBy...) verwenden.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  3. Mahlzeit chriso,

    Ich habe ein fliegendes Menü (floating div menu - sliding effekt) welches leider nicht ausgeführt wird solange ich den Doctype

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    
    >   
    > drinnen lasse.  
      
    Natürlich. XHTML kennt schließlich kein Element namens  
      
    
    > <layer id="divStayTopLeft">  
      
      
    
    > Der Doctype sollte bleiben. Gibt es eine möglichkeit  
      
    Ja: [validen HTML-Code](http://validator.w3.org/) schreiben.  
      
    
    > das Javascript anzupassen,  
      
    Ja: zeitgemäßen Code schreiben. Uralter Netscape-Veteranen (für die Dein Code passen würde) wurden höchstwahrscheinlich im letzten Jahrtausend in freier Wildbahn gesichtet.  
      
    
    > bzw. das Script vom Doctype auszuschließen?  
      
    Was genau verstehst Du darunter?  
      
      
    MfG,  
    EKKi  
    
    -- 
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|