sufijen bani

blog

Auf meinem Blog berichte ich über die neuesten Dinge, die mich und das Internet betreffen. Nebenbei gebe ich Tipps und Anleitungen zum Thema Webentwicklung.

Javascript Countdown mit Progressbar

Aufgrund meiner derzeitigen Arbeit an einem eigenen Browsergame habe ich einen Javascript Countdown gebraucht, welcher gleichzeitig eine Progressbar laufen lässt die den Fortschritt anzeigen lässt.

Als ich das Internet nach einer geeigneten Lösung zu meinem Problem gesucht habe, bin ich auf einen Javascript-Generator gestoßen. Diesen habe ich kurzerhand erweitert und auf meine Bedürfnisse angepasst.

Damit mein Code funktioniert muss Scriptaculous und Prototype eingebaut werden, da ich den Effekt Morph nutze. Wer was anderes nutzen will muss einfach editieren.

Hier der Javascript-Code:

countdown()
{
  now = new Date();
  count = Math.floor(end.getTime() - now.getTime());
  progressBar(count);
  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);
    days = count;
    document.getElementById('countdown').innerHTML = hours + ':' + minutes + ':' + seconds
    setTimeout('countdown()', 100);
  } else {
  	document.getElementById('countdown').innerHTML = 'Fertig!';
  	window.location.reload();
  }
}
function progressBar(rest)
{
	maxwidth = 200;
	percentage = (holeDiff-rest) / holeDiff;
	width = percentage * maxwidth;
  	// Wenn nur die Prozent angezeigt werden sollen
  	//document.getElementById('progressBar').innerHTML = $percentage + '%';
	new Effect.Morph('progressBar', {style:'width:' + width + 'px', duration:'0'});
}
countdown();

Um das ganze zum Laufen zu bringen braucht man noch etwas html und css und fertig wären wir schon.

#barContainer {
height: 12px;
width: 200px;
border: 1px solid #000;
margin-left: 5px;
background-color: #DDDDDD;
}
#barContainer {
height: 12px;
width: 200px;
border: 1px solid #000;
margin-left: 5px;
background-color: #DDDDDD;
}

Und diese Zeilen werden ersetzt:

<span id="countdown">Kein Javascript aktiviert</span>
<div id="barContainer">
<div id="progressBar"></div>
</div>

Ich hoffe das hilft noch jemandem außer mir.

Viel Spaß damit

Dieser Eintrag wurde den 27. Februar 2009 um 07:48 Uhr veröffentlicht und ist in der Kategorie Tutorials mit den Tags , abgelegt.
Meine Empfehlung: Günstiger Webspace und verdammt preiswerte vServer von Netcup Hosting
  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks

*
Klicke auf das Bild um eine Sound-Datei aufzurufen.
Klicke um die Sound-Datei für die Anti-Spam Antwort zu hören.