Fehler im Javascript-Counter

D

dw-sonic

Hi ich finde einfach den fehler nicht kann mir einer helfen? es will einfach net laufen !


Code:
<script>
var stunden = 00;
var minuten = 00;
var sekunden = 00;
var link = "http://www.meine-homepage.com/"
var titel = "Meine Homepage"
var schrift = "Arial"
var ausrichtung = "left" // left=links, center=mitte, right=rechts


var std = 00;
var min = 00;
var sek = 00;
var text = "";

function countdown() {
sek = sek-1;
if (sek == 1) {sek = 60; min = min-1}
if (min == 1) {min = 60; std = std-1}
text = "Noch " + std + " Stunden, " + min " Minuten, " + sek + " Sekunden.";
if (sek == 0 && min == 0 && std == 0) { text = "<p align='"+ausrichtung+"'><font face='"+schrift+"'>Jetzt zu <a href='"+link+"'>"+titel+"</a> wechseln</font></p>" }
document.write(text);
if (sek != 0 && min != 0 && std != 0) { setTimeout('countdown()', 1000); } }

{ document.write("<p align='"+ausrichtung+"'><font face='"+schrift+"'><a href='javascript:countstart()'>Countdown starten</a></font></p>") }

function countstart() {
std = stunden;
min = minuten;
sek = sekunden;
countdown() }
</script>
 
habe das von einem übers internet bekommen !

Eigentlich sollte es nen javascript sein wo ein counter bis zu einem gewissen datum und zeit die sekunden minuten und co anzeigt und runterzählt wie lange es noch dauert, sobald dder counter auf null ist soll sich ein link sichtbar machen oder ein bild .. eigentlich net mehr und net weniger .

Da ich aber vom javascript null plan habe kann ichs selber nicht erstellen :-(
 
Hi,

habe das von einem übers internet bekommen !

Ach so. Dann frag doch am besten mal bei dem nach. Der wird sein eigenes Script besser kennen, als jeder andere.

Da ich aber vom javascript null plan habe kann ichs selber nicht erstellen :-(

Dazu muss ich Dir leider sagen, dass zumindest Grundkenntnisse in diesem Forum Voraussetzung sind. So würde die Anfrage eher ins Jobforum gehören (wenn ich es verschieben soll, dann sag mir einfach Bescheid). Du könntest auch hier im Forum mal nach "Javascript Countdown" suchen. Da sollte sich so einiges finden lassen.

Und achte in Deinen Beiträgen bitte auf die Rechtschreibung, wie es in unserer Netiquette, Punkt 15 steht. Vielen Dank.

LG
 
Hm ja der meldet sich ja net mehr !

Ok versuchen wir es anders rum !

Wie bekomme ich es bei diesem Counter hin das am ende der zeit ein Link dargestelt oder geöffnet wird?

<div align=center>
<SPAN id=c1 style="FONT: bold 30px arial; COLOR: green;"></SPAN><br>
<SPAN id=c2 style="FONT: bold 25px arial; COLOR: blue;">;</SPAN><br>
<small>...***TEXT***</small>
</div>

<script type='text/javascript'>

var end = new Date('September 23, 2009 20:00:30');
function toSt2(n) {
s = '';
if (n < 10) s += '0';
return (s + n).toString();
}
function toSt3(n) {
s = '';
if (n < 10) s += '00';
else if (n < 100) s += '0';
return (s + n).toString();
}
function countdown() {
d = new Date();
count = Math.floor(end.getTime() - d.getTime());
if(count > 0) {
miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
seconds = toSt2(count%60); count = Math.floor(count/60);
minutes = toSt2(count%60); count = Math.floor(count/60);
hours = toSt2(count%24); count = Math.floor(count/24);
days = count;
document.getElementById('c1').innerHTML = days + ' TAGE';
document.getElementById('c2').innerHTML = hours + ':' + minutes + ':' + seconds + '.' + miliseconds;
setTimeout('countdown()', 100);
}
}
countdown();
</script>
 
Vergiss bitte nicht die Code-Tags um deinen Quellcode zu machen.

An dieser Stelle muss einfach noch ein else-Zweig eingebaut werden:
Code:
if(count > 0) {
// [...]
}
else {
// link ausgeben
}
Wie das geht siehst du ja im Prinzip schon zwei Zeilen darüber. :)
 
So habe nun mal bissel geforscht und versccht,

habe nun einen counter hin bekommen, jedoch passiert am ende nix?

er sollte eigentlich am ende das bild öffnen ?

sr aber hab als gast nicht die möglichkeit als code einzufügen!?


<html>
<head>
<title>Datum-Countdown mit JavaScript</title>

<script language="JavaScript">
// Ziel-Datum in MEZ
var jahr=2009, monat=9, tag=24, stunde=17, minute=20, sekunde=30;
var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

function countdown() {
startDatum=new Date(); // Aktuelles
DatumEndDatum=new Date(); // EndDatum

// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if(startDatum<zielDatum) {

var jahre=0
var monate=0
var tage=0
var stunden=0
var minuten=0
var sekunden=0

// Jahre
while(startDatum<zielDatum) {
jahre++;
startDatum.setFullYear(startDatum.getFullYear()+1);
}
startDatum.setFullYear(startDatum.getFullYear()-1);
jahre--;

// Monate
while(startDatum<zielDatum) {
monate++;
startDatum.setMonth(startDatum.getMonth()+1);
}
startDatum.setMonth(startDatum.getMonth()-1);
monate--;

// Tage
while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
tage++;
startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
}

// Stunden
stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

// Minuten
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);

// Sekunden
sekunden=Math.floor((zielDatum-startDatum)/1000);

// Anzeige formatieren
(jahre!=1)?jahre=jahre+" Jahre, ":jahre=jahre+" Jahr, ";
(monate!=1)?monate=monate+" Monate, ":monate=monate+" Monat, ";
(tage!=1)?tage=tage+" Tage, ":tage=tage+" Tag, ";
(stunden!=1)?stunden=stunden+" Stunden, ":stunden=stunden+" Stunde, ";
(minuten!=1)?minuten=minuten+" Minuten und ":minuten=minuten+" Minute und ";
if(sekunden<10) sekunden="0"+sekunden;
(sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

document.countdownform.countdowninput.value=
jahre+monate+tage+stunden+minuten+sekunden;

setTimeout('countdown()',200);
}
// Anderenfalls alles auf Null setzen
else {
document.countdownform.countdowninput.value=
"0 Jahre, 0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
document.getElementById('bild').style.display = 'block';
}
}
</script>
</head>

<body onload="countdown()">
<form name="countdownform">
<p><center>
<input size="75" name="countdowninput" style="border:0px;">
<div id="bild" style="display:none;"><img border="0" src="http://elashoq.files.wordpress.com/2008/09/stolzes-herz.jpg'" width="..." height="..." /></div>
</div></center></p>
</form>
</body>
</html>
 
So ich schon wieder :D

hab es nun hinbekommen doch leider geht es net wie ich es will?

Öffne ich es mit mozilla firefox klappt alles wunder bar!

counter zählt runter und bild erscheint nach 0:0:0:0:0

Leider jedoch nicht beim internetexplorer? Da geht nur der counter und am ende kommt nix.. net mal ne fehlermeldung oder so warum funtzt das script im inetexplorer net?

Code:
<html>
<head>
<title>Datum-Countdown mit JavaScript</title> 

<script language="JavaScript">
// Ziel-Datum in MEZ
var jahr=2009, monat=9, tag=26, stunde=16, minute=40, sekunde=30;
var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde); 

function countdown() {
startDatum=new Date(); // Aktuelles 
DatumEndDatum=new Date(); // EndDatum 

// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if(startDatum<zielDatum) { 

var jahre=0
var monate=0
var tage=0
var stunden=0
var minuten=0
var sekunden=0 

// Jahre
while(startDatum<zielDatum) {
jahre++;
startDatum.setFullYear(startDatum.getFullYear()+1);
}
startDatum.setFullYear(startDatum.getFullYear()-1);
jahre--; 

// Monate
while(startDatum<zielDatum) {
monate++;
startDatum.setMonth(startDatum.getMonth()+1);
}
startDatum.setMonth(startDatum.getMonth()-1);
monate--;

// Tage
while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
tage++;
startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
} 

// Stunden
stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000); 

// Minuten
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000); 

// Sekunden
sekunden=Math.floor((zielDatum-startDatum)/1000); 

// Anzeige formatieren
(jahre!=1)?jahre=jahre+" Jahre, ":jahre=jahre+" Jahr, ";
(monate!=1)?monate=monate+" Monate, ":monate=monate+" Monat, ";
(tage!=1)?tage=tage+" Tage, ":tage=tage+" Tag, ";
(stunden!=1)?stunden=stunden+" Stunden, ":stunden=stunden+" Stunde, ";
(minuten!=1)?minuten=minuten+" Minuten und ":minuten=minuten+" Minute und ";
if(sekunden<10) sekunden="0"+sekunden;
(sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde"; 

document.countdownform.countdowninput.value=
jahre+monate+tage+stunden+minuten+sekunden; 

setTimeout('countdown()',200);
}
// Anderenfalls alles auf Null setzen
else { 
document.countdownform.countdowninput.value=
"0 Jahre, 0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
document.getElementById('bild').style.display = 'block';
}
}
</script>
</head> 

<body onload="countdown()">
<form name="countdownform">
<p><center>
<input size="75" name="countdowninput" style="border:0px;">
<div id="bild" style="display:none;"><img border="0" src="http://elashoq.files.wordpress.com/2008/09/stolzes-herz.jpg" width="..." height="..." /></div>
</div></center></p>
</form>
</body> 
</html>
 
Hi,

das Script funktioniert im IE tadellos.

Dass das Grafikelement von ihm jedoch nicht geladen wird, liegt einfach an diesen sinnfreien Attributswerten:
Code:
<img border="0" src="http://elashoq.files.wordpress.com/2008/09/stolzes-herz.jpg" width="..." height="..." />


mfg Maik
 

Neue Beiträge

Zurück