countdownfucntion umbasteln!

spike7899

Grünschnabel
Hallo liebe community, ich habe folgenden Super code gefunden, der auch super functioniert, doch ich wollte fragen ob ihr es vieelicht nur ein klines bisschen umstellen könnt?
bitte

Hier der Code
Code:
<script type="text/javascript">
<!--
    //Die Sekunden
    expires=12;

    //Url der folgenden Seite
    ziel='wohinSollsGehen.htm';

    iHTML=false;

    function printCounter()
    {
        out = '<form name="fCD"><input type="text"size="12"name="CD"></form>';

        if(document.getElementsByTagName
            && document.getElementsByTagName('*')[0].innerHTML)
	            {
	                iHTML = true;
	                out = '<span id="CD">&nbsp;</span>';
	            }
            return out;
    }


    function countDown()
    {
        if(expires == 0)
            {
                window.location = ziel;
            }

        tmp    = expires;
        parts  = new Array(86400,3600,60,1);
        parts2 = new Array();

        for(i=0;i<parts.length;i++)
	        {
	            parts2[i] = parseInt(tmp/parts[i]);
	            tmp       = tmp%parts[i];
	            parts2[i] = (parts2[i]<10)?'0'+parts2[i] : parts2[i];
	        }

        if(iHTML)
            {
                document.getElementById('CD').innerHTML = parts2.join(':');
            }
        else{
                document.fCD.CD.value=parts2.join(':');
            }
        expires--;
        setTimeout("countDown()",1000);
    }

    window.onload=countDown;
//-->
</script>
<script type="text/javascript">
<!--
document.write(printCounter());
//-->
</script>

nunja meine beiden fragen sind:
könntet ihr das so amchen das ich die sekunden per function eingeben kann
und 2. das wenn studnen oder tage oder so 0 ist das es dann nicht mit angezeigt wird
d.dh wenn ich jetzt 180 sekunden haben dann wird es so angeziegt
00:00:03:00
und ich möchte gerne das es dann so angeziegt wird
03:00

vielen dank

ihr seit die besten!
 
Es tut mir leid, aber das solltest du auch wirklich selber können. Du hast doch schon ein fertiges Script und musst es nur ein wenig ummodeln. Das mit den Tagen und Stunden bekommst du mit einer ganz gewöhnlichen if-Abfrage hin.

Du stellst hier einfach einen Auftrag rein und willst, dass wir den hier bearbeiten aber für Aufträge gibt es normalerweise Geld und Job-Forum. Siehe zu dem Thema auch http://www.tutorials.de/tutorials215197.html. Du kannst gerne hier fragen wenn du beim Ummodeln auf ein konkrestes Problem stößt - z.B. eine Fehlermeldung, die du dir absolut nicht erklären kannst oder so was.
 
Zuletzt bearbeitet:
okay nunja
das mit den tagen und stunden usw.
könnt ich ja selber noch, aber das per function,sorry, könntet ihr mir da bitte helfen?
 
Dann mach erstmal das mit den Tagen und Stunden. Das mit der Funktion ist auch nicht so schwer - du musst nur einen Prarameter mit dem du die Sekunden übergibst einbauen d.h. die Variable "expires" in die Klammer von der Funktion schieben (ohne das =12), die Zeile mit window.onload raushauen plus den parameter auch im setTimeout übergeben und unten noch z.B. "countDown(180)" dazuschreiben, wenn er 180 Sek runter zählen soll.

Wenn du noch mehr Inspiration brauchst kannst du auch gerne hier: http://confus.co.funpic.de/_data/tut vorbeischauen unter dem Punk "Zeit" findest du jede Menge verschiedene Countdowns.

Es tut mir leid, aber es ist einfach nicht Sinn dieses Forums die einfachsten und grundlegensten JavaScript-Kenntnisse zu vermitteln oder Aufträge zu bearbeiten - wir helfen nur bei konkreten Problemen.
 
Zuletzt bearbeitet:
mhh der link geht irgendwie nicht!
das mit den stunden habe ich jetzt aber ich weiß nicht wie ich die :: wegamchen soll
denn es steht jetzt da ::03:00

Code:
<script type="text/javascript">
<!--
    //Die Sekunden
    expires=180;

    //Url der folgenden Seite
    ziel='wohinSollsGehen.htm';

    iHTML=false;

    function printCounter()
    {
        out = '<form name="fCD"><input type="text"size="12"name="CD"></form>';

        if(document.getElementsByTagName
            && document.getElementsByTagName('*')[0].innerHTML)
	            {
	                iHTML = true;
	                out = '<span id="CD">&nbsp;</span>';
	            }
            return out;
    }


    function countDown()
    {
        if(expires == 0)
            {
                window.location = ziel;
            }

        tmp    = expires;
        parts  = new Array(86400,3600,60,1);
        parts2 = new Array();

        for(i=0;i<parts.length;i++)
	        {
	            parts2[i] = parseInt(tmp/parts[i]);
	            tmp       = tmp%parts[i];
	            parts2[i] = (parts2[i]<10)?'0'+parts2[i] : parts2[i];
	            parts2[i] = (parts2[i]=='00')?'' : parts2[i];
	        }

        if(iHTML)
            {
                document.getElementById('CD').innerHTML = parts2.join(':');
            }
        else{
                document.fCD.CD.value=parts2.join(':');
            }
        expires--;
        setTimeout("countDown()",1000);
    }

    window.onload=countDown;
//-->
</script>
<script type="text/javascript">
<!--
document.write(printCounter());
//-->
</script>
danke!
 
Zuletzt bearbeitet:
Oh mann, dann hau sie halt weg:
Code:
		for(i=0;i<parts.length;i++) {
   			parts2[i] = parseInt( tmp/parts[i] );
   			tmp = tmp % parts[i];
 			parts2[i] = (parts2[i]<10) ? '0'+ parts2[i] : parts2[i];
   		}
   		
   		var display = parts2.join(':').replace(/^(00:)+/,'');
   		
   		if(iHTML)
   			document.getElementById('CD').innerHTML = display;
   		else
   			document.fCD.CD.value= display;
 
Zuletzt bearbeitet:
cool danke, doch ich habe jetzt das gemacht was du gesagt hast, habe expires
in countDown()

obenrein gemacht und unten habe ich 180 rein geschribene bei
setTimeout("countDown(180)",1000);
doch jetzt kommt immer
NaN:NaN:NaN:NaN

mhh schlecht

hier der code
Code:
<script type="text/javascript">
<!--
 ziel = 'index.php';
 iHTML = false;

 function printCounter() {
  out = '<form name="fCD"><input type="text" size="12" name="CD"></form>';
   if(document.getElementsByTagName && document.getElementsByTagName('*')[0].innerHTML) {
	iHTML = true;
	out = '<span id="CD">&nbsp;</span>';
   }
   return out;
 }

 function countDown(expires) {
  if(expires == 0) window.location = ziel;
  tmp = expires;
  parts = new Array(86400,3600,60,1);
  parts2 = new Array();

  for(i=0;i<parts.length;i++) {
   parts2[i] = parseInt( tmp/parts[i] );
   tmp = tmp % parts[i];
   parts2[i] = (parts2[i]<10) ? '0'+ parts2[i] : parts2[i];
  }
  var display = parts2.join(':');
  while ( display.match(/^00:/) ) display = display.replace(/^00:/,'');

  if(iHTML) document.getElementById('CD').innerHTML = display;
  else document.fCD.CD.value= display;

  expires--;
  setTimeout("countDown(180)",1000);
 }
//-->
</script>

<script type="text/javascript">
<!--
window.onload=countDown;
document.write(printCounter());
//-->
</script>
ich wollte ja eigentlich das ich hier die sekunden übergeben kann
Code:
<script type="text/javascript">
<!--
window.onload=countDown;
document.write(printCounter());
//-->
aber wenn ich window.onload=countDown(180);mach egibbet nur fehler

und oben der cod egeht auch net ganez


und nun?

dank eeuch viel mals!
 
Zuletzt bearbeitet:
HTML:
<html><head><title>Test</title>
 
 <script type="text/javascript"><!--
 	var cntNbr=0, iHTML=false;
 
 	function printCounter(Sec,Url) {
 		cntNbr++;
 		var out = '<form name="fCD'+cntNbr+'"><input type="text"size="12"name="CD"></form>';
 		if(document.getElementsByTagName && document.getElementsByTagName('*')[0].innerHTML) {
 			iHTML = true;
 			out = '<span id="CD'+cntNbr+'">&nbsp;</span>';
 		}
 		countDown(Sec,cntNbr,Url);
 		return out;
 	}
 
 	function countDown(intSec,intCnt,strURL) {
 		try {
 			if (intSec > 0) {
 		        setTimeout('countDown('+(intSec-1)+','+intCnt+',"'+strURL+'")',999);
 				tmp = intSec;
 				parts  = new Array(86400,3600,60,1);
 				parts2 = new Array();
 
 				for(i=0;i<parts.length;i++) {
 		    		parts2[i] = parseInt( tmp/parts[i] );
 					tmp = tmp % parts[i];
 		    		parts2[i] = (parts2[i]<10) ? '0'+ parts2[i] : parts2[i];
 				}
 		
 		    	var display = parts2.join(':').replace(/^(00:)+/,'');
 				
 				if(iHTML)
 		    	    document.getElementById('CD'+intCnt).innerHTML = display;
 				else
 		    	    document.forms['fCD'+intCnt].CD.value= display;
 			} else
 				window.location.href = strURL;
 		} catch (e) {}
 	}
 //--></script>
 
 </head><body>
 
 <script type="text/javascript"><!--
 	document.write(printCounter(80,'http://www.google.de'));
 //--></script>
 
 </body></html>
 
Gern geschehen, denk nur bitte das nächste mal dran es erst selbst zu versuchen und deine Fehler dabei zu posten anstatt einfach Aufträge in den Raum zu schmeißen.

Bitte lies dir noch http://www.tutorials.de/tutorials215197.html (besonders den 2. Post) durch und handele danach.

Unter http://confus.co.funpic.de/_data/tut/multicountdown.html findest du einen alten Countdown von mir, der das ganze mit wesentlich weniger Code macht. Unter http://confus.co.funpic.de/_data/tut habe ich nämlich die am öftesten gewollten Scripts hochgeladen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück