Counter mit Fehler getElementbyId()
eric
- javascript
0 Feurio0 Ingo Turski
Mein Kollege hat Probleme bei folgendem Javascript.
Es funzt, doch gibt der Firefox immer folgende Fehlermeldung aus
Warnung: Die nicht standardgemäße Eigenschaft document.all wurde verwendet. Verwenden Sie stattdessen den W3C-Standard document.getElementById().
Quelldatei: http://www.rdeppermann.de/ioff/sv/counter/countdown.js
Zeile: 19
Wie muss er es anpassen, aufgerufen wird es durch folgenden HTML Code
<body onLoad="startTimer()">
<script language="JavaScript" src="countdown.js"></script>
<table class=black align="center" border="0">
<tr>
<td align=center colspan="3">
<p id="event"></p>
</td>
</tr>
</table>
</body>
nAbend, (<= begrüßung)
anstattt mit document.all sollst du mit document.getElementById darauf zugreifen.
halt so wie es in der fehlerbeschreibung beschrieben wird.
zu ändern hast du das in deiner countdown.js-datei.
feurio
halt so wie es in der fehlerbeschreibung beschrieben wird.
zu ändern hast du das in deiner countdown.js-datei.
Das ist klar, aber er sagt dass es danach nicht mehr funktioniert
var dates=new Array();
var events=new Array();
var current;
dates[0]=new Date("nov 13, 2004 16:45:00");
events[0]="<table>.....</table>";
function selectDate()
{
now=new Date()
for (i=0;i<dates.length;i++)
{
if (now.getTime()<dates[i].getTime())
{
current=dates[i];
// document.all.event.innerHTML=events[i];
document.getElementById("events[i]")
return;
}
}
}
function startTimer()
{
selectDate();
timeRemaining();
}
function timeRemaining()
{
now = new Date();
var secsLeft = Math.floor((current.getTime()-now.getTime())/1000);
if (secsLeft<0)
{
startTimer();
}
else
{
daysLeft = Math.floor(secsLeft / 86400);
secsLeft %= 86400;
hoursLeft = Math.floor(secsLeft / 3600);
secsLeft %= 3600;
minsLeft = Math.floor(secsLeft / 60);
secsLeft %= 60;
document.all.left.innerHTML=daysLeft+"Tage "+hoursLeft+"h "+minsLeft+"min "+secsLeft+"s";
if(daysLeft<1)
{
document.all.left.innerHTML=hoursLeft+"h "+minsLeft+"min "+secsLeft+"s";
}
if(hoursLeft<1)
{
document.all.left.innerHTML=minsLeft+"min "+secsLeft+"s";
}
if(minsLeft<1)
{
document.all.left.innerHTML=secsLeft+"s";
}
setTimeout("timeRemaining()", 800);
}
}
Frage nur bei ihm, wie das bei den Sekunden/Minuten/Stunden geht!!!
Hallo eric.
Das ist klar, aber er sagt dass es danach nicht mehr funktioniert
function selectDate()
[...]
// document.all.event.innerHTML=events[i];
document.getElementById("events[i]")
Du willst ein Element ansprechen, das _welche_ ID hat? In deinem Ursprungscode hatte der Absatz die id "event", nicht "events[i]", das soll doch der einzufügende HTML-Code sein, oder?
Freundschaft!
Siechfred
Hallo eric.
Das ist klar, aber er sagt dass es danach nicht mehr funktioniert
function selectDate()
[...]
// document.all.event.innerHTML=events[i];
document.getElementById("events[i]")Du willst ein Element ansprechen, das _welche_ ID hat? In deinem Ursprungscode hatte der Absatz die id "event", nicht "events[i]", das soll doch der einzufügende HTML-Code sein, oder?
Freundschaft!
Siechfred
Yep, das sollte er sein!
Kannste mal den Code komplett posten, ich checks irgendwie gerde auch ned!
Hi,
Es funzt, doch gibt der Firefox immer folgende Fehlermeldung aus
Warnung: Die nicht standardgemäße Eigenschaft document.all wurde verwendet. Verwenden Sie stattdessen den W3C-Standard document.getElementById().
gefällt mir außerordentlich diese Fehlermeldung :-)
Wie muss er es anpassen, aufgerufen wird es durch folgenden HTML Code
Du postest hier den irrelevanten HTML-Code, wo Du mit Sicherheit selbst feststellen kannst, daß nirgends 'document.all' steht.
freundliche Grüße
Ingo