Ticker funzt net unter Netscape6
Sven Brodala
- javascript
0 Herbalizer0 Thomas J.
Der Ticker funktionier perfekt unter dem IExplorer und unter Netscape4x aber nicht unter Netscape 6 kann mir jemand Helfen ??
Ich stelle ma den Quellcode hier rein:
<script language="JavaScript1.2" type="text/javascript">
<!--
/* E i n s t e l l b a r e P a r a m e t e r */
/* ------------------------------------------ */
var speed = 50;
var pause = 2000;
var schritt = 2;
var breite = 500;
var bgColor = '#FFFFFF';
var abLeft = 150;
var abTop = 480;
var fgColor = '#86131b';
var ftFamily = 'verdana';
var ftSize = '8pt';
var ftWeight = '540';
var Abstand = 20;
var Zeile = new Array();
var Link = new Array();
Zeile[Zeile.length] = '+++ Do., 15. Mai 2003, 11 Uhr Uni-Demo auf dem Domplatz +++';
Link [Link.length ] = 'http://www.uni-magdeburg.de/wnews/akt_de.html';
Zeile[Zeile.length] = '+++ Ringvorlesung zur Frauen- und Geschlechterforschung +++';
Link [Link.length ] = 'http://www.uni-magdeburg.de/gleichstellungsbuero/koord/ring03.doc';
Zeile[Zeile.length] = '+++ Ringseminar War and Peace an OvG-Universität +++';
Link [Link.length ] = 'http://www-a.uni-magdeburg.de/rpoe/prmi2003/47.html';
var LinkTarget = '_blank';
/* ------------------------------------------ */
var ns = document.layers ? true : false;
var ie = document.all ? true : false;
var n6 = document.getElementById ? true : false;
var TickerOnload = null;
var timer = null;
var ZZ = 0; // Zeilenzähler
var SZ = 0; // Spaltenzähler
var Ausgang;
var txtStart = '<table border=0 cellspacing=0 cellpadding=0 width="' + breite + '">\n' +
' <tr>\n' +
' <td>';
var txtEnde = ' </td>\n' +
' </tr>\n' +
'</table>\n';
var HTMLTab = new Array();
HTMLTab[HTMLTab.length] = '&,&';
HTMLTab[HTMLTab.length] = ' , ';
HTMLTab[HTMLTab.length] = '<,<';
HTMLTab[HTMLTab.length] = '>,>';
HTMLTab[HTMLTab.length] = '","';
HTMLTab[HTMLTab.length] = 'ä,ä';
HTMLTab[HTMLTab.length] = 'ö,ö';
HTMLTab[HTMLTab.length] = 'ü,ü';
HTMLTab[HTMLTab.length] = 'Ä,Ä';
HTMLTab[HTMLTab.length] = 'Ö,Ö';
HTMLTab[HTMLTab.length] = 'Ü,Ü';
HTMLTab[HTMLTab.length] = 'ß,ß';
if (ie || ns) {
if (window.onload)
TickerOnload = window.onload;
window.onload = TickerInit;
document.write ('<style type="text/css">\n' +
' #Hintergrund { position: absolute; left: ' + abLeft + '; top: ' + abTop + '; width: ' + breite + '; visibility: visible; z-Index: 2; }\n' +
' #TickerLayer { position: absolute; left: ' + abLeft + '; top: ' + abTop + '; width: ' + breite + '; clip: rect(0px 0px 50px auto); visibility: visible; z-Index: 3; }\n' +
' A.ticker { text-decoration: none; color: ' + fgColor + '; font-family: ' + ftFamily + '; font-size: ' + ftSize + '; font-weight: ' + ftWeight + '; }\n' +
' leer { color: ' + fgColor + '; font-family: ' + ftFamily + '; font-size: ' + ftSize + '; font-weight: ' + ftWeight + '; }\n' +
'</style>' +
'<div id="Hintergrund">' + txtStart + '<a href="#" class="ticker"> </a>' + txtEnde + '</div>\n' +
'<div id="TickerLayer"> </div>\n');
}
function TickerInit()
{
if (TickerOnload)
TickerOnload();
if (ns) {
Ausgang = document.Hintergrund.pageX + document.Hintergrund.document.width - Abstand;
document.TickerLayer.pageX = Ausgang;
}
else if (ie) {
Ausgang = document.all.Hintergrund.offsetLeft + document.all.Hintergrund.offsetWidth - Abstand;
document.all.TickerLayer.style.left = Ausgang;
}
timer = setInterval('doTicker()', speed);
}
function doTicker()
{
if (SZ++ == 0) {
var Text = '<font size="1"><a href="' + Link[ZZ] + '" target="' + LinkTarget + '" class="ticker">';
Text += toHTML(Zeile[ZZ]);
Text += '</a></font>';
if (ns) {
document.TickerLayer.clip.width = 0;
document.TickerLayer.pageX = Ausgang;
}
else if (ie) {
document.all.TickerLayer.style.clip = 'rect(0px 0px 50px auto)';
document.all.TickerLayer.style.left = Ausgang;
}
Write(Text, 'TickerLayer');
}
if ((ns && document.TickerLayer.pageX - document.Hintergrund.pageX <= Abstand) || (ie && document.all.TickerLayer.offsetLeft - document.all.Hintergrund.offsetLeft <= Abstand)) {
clearInterval(timer);
timer = setTimeout('reactivate()', pause);
return;
}
if (ns) {
document.TickerLayer.pageX -= schritt;
document.TickerLayer.clip.width = schritt * (SZ + 1);
}
else if (ie) {
document.all.TickerLayer.style.left = document.all.TickerLayer.offsetLeft - schritt;
document.all.TickerLayer.style.clip = 'rect(0px ' + (schritt * (SZ + 1)) + 'px 50px 0px)';
}
}
function reactivate()
{
if (++ZZ == Zeile.length)
ZZ = 0;
SZ = 0;
timer = setInterval('doTicker()', speed);
}
function Write(Text, LayerName)
{
if (ns) {
with (document[LayerName].document) {
open();
write(Text);
close();
}
}
else if (ie)
document.all[LayerName].innerHTML = Text;
}
function toHTML(Text)
{
for (var i=0; i < HTMLTab.length; i++)
Text = Text.replace(eval('/' + HTMLTab[i].split(',')[0] + '/g'), HTMLTab[i].split(',')[1]);
return (Text);
}
//-->
</script>
Hi!
Der Ticker funktionier perfekt unter dem IExplorer und unter Netscape4x aber nicht unter Netscape 6 kann mir jemand Helfen ??
Beschäftige dich mit mal mit http://selfhtml.teamone.de/javascript/objekte/document.htm#get_element_by_id
Die Methode wird von allen Browsern verstanden, welche behaupten Javascript zu unterstützen und ab Baujahr 1999 sind.
Gruß Herbalizer
Tag
var ns = document.layers ? true : false;
var ie = document.all ? true : false;
var n6 = document.getElementById ? true : false;
So weit, so gut ...
if (ie || ns) {
if (ns) {
else if (ie) {
if (ns) {
else if (ie) {
if (ns) {
else if (ie) {
if (ns) {
else if (ie)
Woher sollen die Browser, die die Bedingung für "n6" erfüllen wissen, was sie tun sollen?
Thomas J.
Das gerade ist ja das Problem !!! Was soll darein ?
Tag
var ns = document.layers ? true : false;
var ie = document.all ? true : false;
var n6 = document.getElementById ? true : false;So weit, so gut ...
if (ie || ns) {
if (ns) {
else if (ie) {
if (ns) {
else if (ie) {
if (ns) {
else if (ie) {
if (ns) {
else if (ie)Woher sollen die Browser, die die Bedingung für "n6" erfüllen wissen, was sie tun sollen?
Thomas J.
Moin
Deine Shift-Taste klemmt:
Das gerade ist ja das Problem !!!
Verlangst Du jetzt tatsächlich, daß ich Dir das Script einfach so DOM-gerecht anpasse?
Da wirst Du Dich schon _self_ etwas mit der Materie beschäftigen müssen. Den Link hat Dir Herbalizer schon gegeben. Wenn Du an irgend einer Stelle nicht weiterkommst, darfst Du gern noch einmal fragen.
Thomas J.