Datenschutzerklärung

Kein Ticker mehr nach DTD

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Javascript-Forum /

Kein Ticker mehr nach DTD

  Beitrag schreiben
Autor
Beitrag Seiten: 1
thesecretboy
Mitglied

Registriert: 10.04.2007
Beiträge: 4
Hallo,

ich habe in meine Seite per "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">" ein Doctype eingefügt.

Ganz unten in der Seite include ich per php:

<td valign="bottom" colspan="2" height="25">
   <?php require_once('_includes/footer.htm'); ?>
</td>

eine weitere Seite, in der ein Newsticker läuft.

Problem nun: Sobald der DTD oben im Dokument steht, läuft der Ticker im Firefox nicht mehr. Sobald ich den Doctype wieder rausnehme läuft er wieder. Der Internet Explorer nimmts hin. Der zeigt den Ticker immer an.

Die Footer-Seite sieht so aus:

Code:

####################### SCHNIPP #######################

<script language="JavaScript" type="text/javascript"> 

// news ticker function 
var newslist=new Array(); 
var cnt=0;   // current news item 
var curr = ""; 
var i=-1;   // current letter being typed 

newslist[0]=new Array("Newstext1","");
newslist[1]=new Array("Newstext2","");
newslist[2]=new Array("Newstext3","");
newslist[3]=new Array("Newstext4","");
newslist[4]=new Array("Newstext5","");
newslist[5]=new Array("Newstext6","");
newslist[6]=new Array("Newstext7","");

function newsticker() 
{ 

// next character of current item 

if (i < newslist[cnt][0].length - 1) 

{ 
    i++; 
    temp1 = newslist[cnt][0]; 
    temp1 = temp1.split(''); 
    curr = curr+temp1[i]; 
    mtxt.innerHTML = "<font color='#990000' size=2 face=arial>"+curr+""; 
    setTimeout('newsticker()',2) 
    return; 

} 

// new item 

i = -1; curr = ""; 

if (cnt<newslist.length-1) 
    cnt++; 

else 
    cnt=0; 

setTimeout('newsticker()',4000) 
} 
//  End --> 
</script>

<body bgcolor="#FFFFFF" text="#000000" onLoad="newsticker()">
<table width="900" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="13" class="letzte_aenderung">&nbsp;</td>
    <td width="186" class="letzte_aenderung">Letzte &Auml;nderung: 08.04.2007</td>
    <td class="newsflash" width="53">NEWS:</td>
    <td class="newsflash" width="648"> <span id="mtxt" style="font-family:Arial;font-size:13pt;width:600;overflow:auto;height:20px"></span> 
      <!-- Script-Ende -->
      <!--Javascript-->
    </td>
  </tr>
</table>

####################### SCHNAPP #######################

In diesem Zusammenhang noch eine Frage zu o.g. Code. Die Seite wird per
PHP includet. Beim Validieren sagt er, dass das Body an dieser Stelle nicht
erlaubt sei. Es handelt sich hier um die Zeile: "<body bgcolor="#FFFFFF" text="#000000" onLoad="newsticker()">". Was mache ich damit? Wie kann ich das umgehen?

Vielen lieben Dank schonmal für Euere Antworten. Ich bin mit W3 leider noch nicht so bewandert. Aber ich will es lernen :)


10.04.2007 12:22:06
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hallo,
entferne das body-Element ersatzlos, das hat an dieser Stelle nichts verloren. Kopiere aber onLoad="newsticker()" in den body deines Dokumentes.


_______________________________________
mfg
Thomas Mell

www.validome.org

10.04.2007 13:43:38
  Zitieren
thesecretboy
Mitglied

Registriert: 10.04.2007
Beiträge: 4
Prima HTMELL, das hat prima funktioniert und die Warnung vom Validator ist auch raus. Nun habe ich nur leider immernoch das Problem, dass das ganze nur im IE einwandfrei funktioniert. Im Firefox tut sich gar nichts. Leider. Hast Du da auch noch eine Idee??

10.04.2007 14:45:36
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hi,
schau mal nach Fehlermeldungen in der Javascript-Konsole


_______________________________________
mfg
Thomas Mell

www.validome.org

10.04.2007 16:09:40
  Zitieren
thesecretboy
Mitglied

Registriert: 10.04.2007
Beiträge: 4
Er sagt "mtxt" is not defined. Aber das sagt mir so gar nix. Auch wenn ich oben im Script "<span id="mtxt" style="font-family:Arial;font-size:13pt;width:600;overflow:auto;height:20px"></span>" finde. Aber ich weiss nicht, was ich daran ändern kann/soll?!. Hast Du noch eine Idee, HTMELL?

10.04.2007 16:45:52
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Nur mit einer id im span-Element kommst Du nicht weiter, da keinen Bezug zwischen dieser id und der Variable "mtxt" besteht.
Der IE stellt diesen Bezug zwar her, dieses Verhalten ist aber eine Erfindung  von Microsoft und hat rein gar nichts mit Standards zu tun.
Um auf ein Element mit einer id zuzugreifen, existiert die Methode getElementById().
Du mußt also folgendes scheiben: document.getElementById("mtxt").innerHTML(...)


_______________________________________
mfg
Thomas Mell

www.validome.org

10.04.2007 17:56:27
  Zitieren
thesecretboy
Mitglied

Registriert: 10.04.2007
Beiträge: 4
Anstatt dem gesamten String "<span id="mtxt" style="font-family:Arial;font-size:13pt;width:600;overflow:auto;height:20px"></span>" ? Oder wie muss das dann komplett aussehen? Bin Dir sehr dankbar für Deine Hilfe.

Beitrag geändert von thesecretboy (11.04.2007 08:11:00)


11.04.2007 08:10:31
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01