[GastForen Programmierung/Entwicklung JavaScript countdown

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

countdown

pat87
Beiträge gesamt: 581

30. Mai 2004, 12:21
Beitrag # 1 von 12
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo zusammen, kennt da jemand ein nettes script, mit dem ich einen countdown auf meine homepage einbauen kann, der dann die tage bis zu einem bestimmten datum herunterzählt?

vielen dank schon im voraus...

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/
X

countdown

SabineP
Beiträge gesamt: 7586

30. Mai 2004, 12:26
Beitrag # 2 von 12
Beitrag ID: #88059
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pat, klar gibt´s das.
Lies mal hier nach:
http://www.hilfdirselbst.ch/...1&topic_id=16462

Gruß Sabine


als Antwort auf: [#88057]

countdown

pat87
Beiträge gesamt: 581

30. Mai 2004, 13:42
Beitrag # 3 von 12
Beitrag ID: #88063
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
es geht aber nicht... es steht immer 'undefined day'

an was liegt das?

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/


als Antwort auf: [#88057]

countdown

SabineP
Beiträge gesamt: 7586

30. Mai 2004, 20:29
Beitrag # 4 von 12
Beitrag ID: #88082
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und wie sieht Dein Code aus? Gibt es einen Link dazu?
Gruß Sabine


als Antwort auf: [#88057]

countdown

pat87
Beiträge gesamt: 581

30. Mai 2004, 22:22
Beitrag # 5 von 12
Beitrag ID: #88091
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
der code sieht so aus: nein, es gibt (noch) keinen link...

<html>

<head>
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
<title>pat87.ch | home</title>
<link rel="SHORTCUT ICON" href="http://www.pat87.ch/...res/favicon.ico">
<script>
var futureyear=2004
var futuremonth=6
var futureday=24
var displaytype="showdays"
var digitordate="isdate"
var aftercountdown="stopit"
var digitfrom=100
var digitto=0
var speed=1

var countdownid=new Array()
var futuredate
var nowdate
var resulthoursraw
var resulthours
var resultminutesraw
var resultminutes
var resultsecondsraw
var resultseconds

var p_seconds
var p_minutes
var p_hours
var p_days

var resultsecondsonly
var resultminutesonly
var resulthoursonly
var content

var i_countdown=-1
var countdownid

var step=1
speed*=1000

if (digitfrom>digitto) {step=-1}
if (digitfrom<digitto) {step=1}

var browserinfos=navigator.userAgent
var ns4=document.layers
var ie4=!document.getElementById&&document.all&&!browserinfos.match(/Opera/)
var ie5=document.getElementById&&document.all&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all&&!browserinfos.match(/Opera/)
var opera=browserinfos.match(/Opera/)

function setfuturedate() {
futuredate=new Date(futureyear,futuremonth,futureday,0,0,0)
if (digitordate=="isdigit") {content=digitfrom-step }
docountdown()
}

function docountdown() {
if (digitordate=="isdate") {
calculateresults()
formatresults()
displayresults()
setTimeout("docountdown()",speed)
}
else if (digitordate=="isdigit") {
content+=step
displayresults()
if (content==digitto) {
setTimeout("happensafter()",speed)
}
else {
setTimeout("docountdown()",speed)
}
}
}

function firstcountdown() {
if (digitordate=="isdate") {
futuredate=new Date(futureyear,futuremonth,futureday,0,0,0)
calculateresults()
formatresults()
}
else if (digitordate=="isdigit") {
content=digitfrom
}
}

function calculateresults() {
nowdate=new Date()
resultdaysraw=(Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24
if (displaytype!="showall") {
resultsecondsonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000)
resultminutesonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60)
resulthoursonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60)
}
else {
resultdays=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24)
resulthoursraw=(resultdaysraw-resultdays)*24
resulthours=Math.floor((resultdaysraw-resultdays)*24)
resultminutesraw=(resulthoursraw-resulthours)*60
resultminutes=Math.floor((resulthoursraw-resulthours)*60)
resultsecondsraw=(resultminutesraw-resultminutes)*60
resultseconds=Math.floor((resultminutesraw-resultminutes)*60)
}
}

function formatresults() {
if (displaytype=="showall") {
if (resultdays>1) {p_days="days"}
else {p_days="day"}
if (resultminutes<10) {resultminutes="0"+resultminutes}
if (resultseconds<10) {resultseconds="0"+resultseconds}
content=resultdays+" "+p_days+" "+resulthours+"h "+resultminutes+"m "+resultseconds +"s"
}
else if (displaytype=="showdays") {
if (resultdays>1) {p_days="days"}
else {p_days="day"}
content=resultdays+" "+p_days
}
else if (displaytype=="showhours") {
content=resulthoursonly+" hrs"
}
else if (displaytype=="showminutes") {
content=resultminutesonly+" min"
}
else if (displaytype=="showseconds") {
content=resultsecondsonly+" sec"
}
}

function happensafter() {
if (aftercountdown=="repeatit") {
if (digitordate=="isdigit") {content=digitfrom-step}
docountdown()
}
if (aftercountdown!="stopit" && aftercountdown!="repeatit") {
document.location.href=aftercountdown
}
}

function displayresults() {
if (ie4) {
for (i=0;i<=countdownid.length-1;i++) {
var thisclock=eval(countdownid)
thisclock.innerHTML=content
}
}
else {
for (i=0;i<=countdownid.length-1;i++) {
document.getElementById(countdownid).innerHTML=content
}
}
}

function setcountdown() {
if (ns4 || ie4 || ie5 || ns6 || opera) {
firstcountdown()
i_countdown++
countdownid[i_countdown]="countdown"+i_countdown
document.write("<span id='"+countdownid[i_countdown]+"' style='position:relative'>"+content+"</span>")
}
}

if (ie4 || ie5 || ns6 || opera) {
onload=setfuturedate
}
</script>
</span>
</head>

<body bgcolor="#ff9a2d" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellpadding="0" cellspacing="0" height="100%">
<tr>
<td valign="top" align="center">
<table width="720" border="0" cellspacing="0" cellpadding="0" height="300">
<tr>
<td valign="top" align="center">
<font size="2" face="verdana">
<table width="720" border="0" cellspacing="0" cellpadding="0" height="35">
<tr>
<td align="center" valign="top">
</td>
</tr>
</table>
</font>
<table width="720" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="top">
<font face="verdana" size="1">
<script language="JavaScript">
today = new Date()
if(today.getMinutes() < 10){
pad = "0"}
else
pad = "";
document.write ;if((today.getHours() <=6) && (today.getHours() >=9)){
document.write("guten morgen")
}
if((today.getHours() >=10) && (today.getHours() <=11)){
document.write("guten morgen!")
}
if((today.getHours() >=12) && (today.getHours() <=16)){
document.write("einen sch&ouml;nen nachmittag w&uuml;nsche ich!")
}
if((today.getHours() >=17) && (today.getHours() <=23)){
document.write("guten abend!")
}
if((today.getHours() >=0) && (today.getHours() <=4)){
document.write("bist du nicht m&uuml;de um diese zeit?")
}
if((today.getHours() >=4) && (today.getHours() <=6)){
document.write("wow! du bist aber fr&uuml;h auf!")
}
</script>
</font>
<hr noshade size="1" width="85%">
</td>
</tr>
</table>

<table width="720" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<font face="verdana" size="1"><marquee scrollamount="5" width="720" height="16" behavior="scroll" loop="infinite" align="middle">dvd-&uuml;bersicht ist neu gestaltet | dvd-&uuml;bersicht erh&auml;lt ein feedback-formular</marquee></font>
</td>
</tr>
</table>
</td>
</tr>
<tr><td align="center"><font face="verdana" size="1"><script>setcountdown()</script></font></td>/tr>
</table>
</td>
</tr>
</table>
</body>

</html>



mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/


als Antwort auf: [#88057]

countdown

SabineP
Beiträge gesamt: 7586

31. Mai 2004, 10:36
Beitrag # 6 von 12
Beitrag ID: #88117
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pat, das Script ist leider fehlerhaft, so daß displaytype="showdays" nicht funktioniert.
Ändere diese Zeilen, dann klappt es:


function calculateresults() {
nowdate=new Date()
resultdaysraw=(Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24
// if (displaytype!="showall") {
resultsecondsonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000)
resultminutesonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60)
resulthoursonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60)
// }
// else {
resultdays=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24)
resulthoursraw=(resultdaysraw-resultdays)*24
resulthours=Math.floor((resultdaysraw-resultdays)*24)
resultminutesraw=(resulthoursraw-resulthours)*60
resultminutes=Math.floor((resulthoursraw-resulthours)*60)
resultsecondsraw=(resultminutesraw-resultminutes)*60
resultseconds=Math.floor((resultminutesraw-resultminutes)*60)
// }
}

Gruß Sabine


als Antwort auf: [#88057]

countdown

pat87
Beiträge gesamt: 581

31. Mai 2004, 10:47
Beitrag # 7 von 12
Beitrag ID: #88120
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
jetzt geht es zwar, aber er zeigt mir auf den 24. 6. 2004 noch 53 tage an...

und wie kann ich es ändern, dass dort 'tage' und nich 'days' stehen?

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/


als Antwort auf: [#88057]
(Dieser Beitrag wurde von pat87 am 31. Mai 2004, 11:05 geändert)

countdown

pat87
Beiträge gesamt: 581

31. Mai 2004, 11:08
Beitrag # 8 von 12
Beitrag ID: #88122
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das mit 'tagen' und nicht 'days' habe ich lösen können...

hier noch der link: http://www.pat87.ch/in_bearbeitung/ und zwar bei home ist es der mittlere frame...

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/


als Antwort auf: [#88057]

countdown

Anonym
Beiträge gesamt: 22827

31. Mai 2004, 11:18
Beitrag # 9 von 12
Beitrag ID: #88123
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pat,

für den 24.6. 2004 schreibst Du in´s Script:

var futureyear=2004
var futuremonth=5
var futureday=24

Gruß Sabine


als Antwort auf: [#88057]

countdown

pat87
Beiträge gesamt: 581

31. Mai 2004, 11:25
Beitrag # 10 von 12
Beitrag ID: #88124
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen


als Antwort auf: [#88057]

countdown

SabineP
Beiträge gesamt: 7586

31. Mai 2004, 11:56
Beitrag # 11 von 12
Beitrag ID: #88132
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Weil der Januar der Monat 0 ist, futuremonth=0
Und jetzt frag mich bitte nicht, warum der Januar der Monat 0 ist. :-)
Das Script wurde so programmiert.

Gruß Sabine


als Antwort auf: [#88057]

countdown

pat87
Beiträge gesamt: 581

31. Mai 2004, 12:48
Beitrag # 12 von 12
Beitrag ID: #88139
Bewertung:
(3965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ok, ich werde dich das nicht fragen...

aber, ...

noch vielen dank für die korrekturen dieses scriptes

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/


als Antwort auf: [#88057]
X