5x Countdown von kiefer-malte

kiefer-malte

Grünschnabel
diverse Countdownthemen von kiefer-malte

Hi,

ich habe jetzt im Netz ein Srcipt gefunden. Dieser Script ist ein Countdwon.
Aber ich jabe zwei Probleme mit diesem Srcipt.

1. Der Countdown wird in der Statusleiste angezeigt.
Ich will aber, das er auf dem Bildschirm, also auf der Webseite angezeigt wird, was muss ich dazu ändern?

2. Ich möchte, wenn der Countdown abgelaufen ist das ein Button erscheint wo man zur nächsten Seite kommt. Ich kenne mich aber ziemlich schlecht mit Javasrcipt aus und weiß daher nicht wie ich das dann in den elese zweig schreibne soll.

Ich bdanke mich jetzt schonmal für eure Hilfe:



Code:
<?php<script language="Javascript">
<!--
var countdown = "10";

function doCount()
{
if (countdown > 0){
    countdown--
}
else{

}

var s = countdown;
var h = Math.floor(s/3600);
var m = Math.floor((s - (h * 3600))/60);
s = (s-(h*3600))%60

window.status=h+":"+m+":"+s+ " bis zur nächsten Seite"

window.setTimeout('doCount()',1000)
}

doCount();
//-->
</script>

?>
 
Re: Countdown

Benutz mal die Forensuche, da findest du tausende Countdowns die im Dokument angezeigt werden und manchen führen wenn sie abgelaufen sind ein Befehl aus. Das kannst du nutzen um einen vorher versteckten Link oder Button sichtbar zu machen.

Du kannst auch diesen hier umändern indem du statt "window.status" "document.getElementById('cnt').innerHTML" schreibst und in in die leere "else {}"-Anweiseung auch ein " document.getElementById('cnt').innerHTML = '<a href=\"www.url.de\">Link</a>' ". Allerdings muss es dann auf der Seite ein Element geben, dass die id="cnt" hat.
 
Zuletzt bearbeitet:
Hilfe bei Script

Hi ich habe diesen Script eben in der Suche gefunden, wie ich einen gesucht habe. Aber ich habe folgendes problem, der Script zeigt auf einer eigenden Seite an, was gerade gebaut wird.
Ich will aber auf der Gleichen Seite, wo die Gebäude sind anzeigen lassw ie lange der bau noch braucht.
Und wenn das fertig ist soll ein Button erscheinen und mich nicht weiter leiten.

Hier der Script den ich gefundne haben

PHP:
<html>
<head>
<title>Bauvorhaben</title>
<SCRIPT type="text/javascript">
<!--
var TargetTime = new Date();
var TimeBeginn = TargetTime.getTime();
var Times=new Array();
function CountDown(myid)
{
  var CurrentDate = new Date();
  var CurrentTime = CurrentDate.getTime();
  var TimeEnd = TimeBeginn + (Times[myid]*1000);
  TargetTime.setTime(TimeEnd);
  var Targetbox=document.getElementById('id_'+myid);
  var OpenTime = Math.floor((TargetTime-CurrentTime)/1000);
  var s = OpenTime % 60;
  var m = ((OpenTime-s)/60) % 60;
  var h = ((OpenTime-s-m*60)/(60*60));
  var fh  = ((h < 10) ? "0" : "");
  var fm  = ((m < 10) ? ":0" : ":");
  var fs  = ((s < 10) ? ":0" : ":");
  var Time = fh+h+fm+m+fs+s;
  var OutputString=Time;
  if(OpenTime<=0)
      {
      // Event wenn der Countdown abgelaufen ist
              location.href='fertig.php?action=fertig&b_id='+myid;
              }
   else
       {
       Targetbox.innerHTML=OutputString; // Ausgabe des Strings in der Betreffenden Zelle
    window.setTimeout("CountDown('" + myid + "')", 1000);
    }
}
//-->
</script>
</title>
</head>
<body  bgcolor='black'>
<table bgcolor='333333' width='413' align='center' border='0' >
  <tr>
    <td>
      <p align='center'>
         Momentane Bauaufträge:
      </p>
    </td>
  </tr>
</table>
<table bgcolor='515151' width='413' align='center' border='0'>
<?php
################ Bauzeitausgabe Gebäude ############################
$query = mysql_query("SELECT * FROM in_bau WHERE user='".$_SESSION["user"]."'");
if(mysql_num_rows($query)>0)
{
while($row = mysql_fetch_array($query))
  {
  $data     = $row["zeit"];
  $menge    = $row["menge"];
  $name     = $row["name"];
  $b_id     = $row["bau_id"];
  $data     = time() - $data;
  $data2     = $row["bauzeit"];
  $data     = $data2-$data;
  echo'
    <tr>
      <td>
       <p align="center">
         Es werden '.$menge.' <b>'.$name.'</b> gebaut.<br>
         Dies dauert vorrausichtlich noch
         <span id="id_'.$b_id.'">&nbsp;</span>
         <script type="text/javascript">Times["'.$b_id.'"]='.$data.';CountDown("'.$b_id.'")</script>
       </p>
     </td>
   </tr>';
  }
}
else
{
  echo'
    <tr>
      <td>
       <p align="center">
         <b>keine Bauauftr&auml;ge vorhanden</b>
       </p>
     </td>
   </tr>';
}
?>
</table>
</body>
</html>

Und hier mal meine Seite wo das alles erscheinen Soll:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Ghost Sodlier</title>
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>


<div id="Info">
  <p align="center"><a href="http://www.lima-city.de/?ref=26692" class="fff"><img src="http://www.lima-city.de/images/banner/lima-city_120x600_1.gif" border="0"></a></p>
</div>

<div id="Inhalt">
  <h2 style="text-align:center">Schön Sie zu sehen <i><?php echo $_SESSION["user_offizier"]; ?></i></h2>
  <p>	<table class="main2">
		<tr>
			<td style="text-align:center">Ihre Einheit <?php echo $_SESSION["user_offizier"]; ?> besitzt zur Zeit: <?php echo $user_geld ?> &euro;</td>
		</tr>
	</table></p>
  <p>
  <table class="main2">
  		<tr>
			<td style="text-align:center">Image</td>
			<td style="text-align:center">Beschreibung</td>
			<td style="text-align:center">Kosten in &euro;</td>
			<td style="text-align:center">Bau</td>
		</tr>
  </table>

</p>

<p>
	<table class="main">
		<tr>
			<td><h4>Baracken</h4></td>
		</tr>
		<tr>
			<td class="main"><img src="images/gebauede/baracken.jpg"></td>
			<td>Ihre Soldaten brauchen auch einen Unterkunft. Bauen Sie diese Unterkunft, und ihr Sodlaten werden immer Motiviert die Aufträge erfüllen.</td>
			<td>12000</td>
			<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="bauen">
######################################################################
Hier soll dann die Zeit stehen, nach dem ersten klick zum bauen, und wenn die zeit abgelaufen ist soll hier wieder ein button stehen!
#######################################################################
			<td><input type="submit" class="login" name="bauen" value="Bauen 1 Tag"></td>
			<input type="hidden" name="baracken" value="bauen" class="login">
		</form>
		</tr>
		</table>
</body></html>
 
Countdown mit einem Timestamp

Hi,

ich habe es jetzt geschaft, das der User sobald er auf einen Button klick, ein Tiemstamp stetzt in der DB.
Jetzt will ich aber, dass der Countdown von da anfängt wo der User vorher der Timestamp gesetzt hat.

Ich wei, das ich das mit JS verwirklichen muss, nur ich habe wirklich absolut keinen plan davon.

Könnt ihr mir mal helfen? :rolleyes:
 
Countdown mit einem Timestamp

Hi,

ich habe es jetzt geschaft, das der User sobald er auf einen Button klick, ein Tiemstamp stetzt in der DB.
Jetzt will ich aber, dass der Countdown von da anfängt wo der User vorher der Timestamp gesetzt hat.

Ich weiß, dass ich das mit JS verwirklichen muss, nur ich habe wirklich absolut keinen Plan davon.

Könnt ihr mir mal helfen?
 
Re: Countdown mit einem Timestamp

Du holst dir den Timestamp aus der DB. Entweder durch reload der Seite (einfachste variante) oder über ein JS-Script, das eine php-Seite lädt die die Daten JS-kompatibel reinschreibt und sie so für JS aus der DB holt. Leider kann JS das nicht direkt, da es ja nicht auf Serverdaten zugreifen kann und darf. Wie so ein "Workaround" funktionierst findest du z.B. in diesem Thread oder hier etwas genauer erklärt

Nun hast du also den Timestamp. Der minus der aktuelle Timestamp ergibt dann die Zeit die der Counter runter zählen muss. Mit der Fütterst du dann deinen eigenen Countdown oder benutzt meinen Countdown. Hier im Forum findest du über die Suche fast unendlich viele andere Coundowns, wenn dir der nicht gefällt und du keine Lust hast dir einen eigenen zu Programmieren.

Hoffe das hat geholfen!
 
Zuletzt bearbeitet:
Re: Countdown mit einem Timestamp

ich weiß es klingt jetzt e, ich habe zwar dein script, aber das ist auch alles,

hier dein script., kannst du mir mal das umschreiben mit DB auslese?

Code:
function cntdown(sec,target,cmd) {
	try {
		if (
			cntdown.arguments.length >= 2 &&
			document.getElementById
		) {
			if (sec >= 0) {
				h = Math.floor(sec / 3600);
				m = Math.floor((sec % 3600) / 60);
				s = sec % 60;

				document.getElementById(target).firstChild.data =
					leadzero(h) + ':' +
					leadzero(m) + ':' +
					leadzero(s);

				setTimeout('cntdown(' + (sec-1) + ',"' + target + '","' + cmd + '")',999);
			} else {
				eval(cmd);
			}
		}
	} catch(e) {}
}

wäre nett nur mit einem beispiel, es soll auch so, das ein button erscheint, wenn der countdown abgelaufen ist
 
Re: Countdown mit einem Timestamp

Ich hab dir gesagt wie's in etwa funktioniert und mich bemüht die Schwierigkeit rauszunehmen so, dass es jemand schaffen kann, der weniger Ahnung von JS hat. Ein bisschen selber arbeiten musst du schon auch. Du kannst nicht erwarten, dass ich (ohne Bezahlung) deine Arbeit mache. Wenn du die Java-Script-Basics kannst, kannst du es auch erledigen.

Ich helfe dir auch gerne, wenn du noch Fragen hast, die nicht beinhalten, dass ich das Script oder große Teile davon für dich schreibe.

Ein Beispiel für etwas ähnliches hab ich dir auch schon gegeben.
 
Zuletzt bearbeitet:
Re: Countdown mit einem Timestamp

kannst du mir dann noch sagen, wo ich den aktuellen tiem stamo hin packen soll und wo ich den ersten time stamp hinsetzten soll
 

Neue Beiträge

Zurück