Ergebnis 1 bis 2 von 2
-
02-06-2006, 09:04 #1
Grünschnabel
- registriert
- 02-06-2006
- Beiträge
- 1
[PHP/JS]Timer auf mausklick starten - Klappt nicht so wie ich das möchte!!!
Hi comunitiy,
Ich bin dabei ein Kleines Browsergame zu schreiben, was mir bis jetzt auch keine Probs gemacht hat!
Nun bin ich dabei das ich einen Countdown bei einem Click ereigniss mittels Llink oder Button starten möchte.
Mein Problem dabei ist, das sobald ich die Seite aufgerufen habe er sofort anfängt zu Zählen was er aber nicht soll, sondern erst anfangen wenn der User auf den Link oder Button geklickt hat.
Meine Entwickler umgebung ist Xampp mit php4 und sql 2.7 alles Lokal auf einem Win2kPro rechner.
der Code ist Folgender:
PHP-Code:
<?php
include("../res.php"); <!-- FÜR DIESES SCRIPT IRRELEVANT!-->
$db=mysql_connect($database_server,$database_user,$database_passwort);
mysql_select_db("sf");
?>
<!--ZEITAUSLESEN AUS DATENBANK-->
<?
$kon2 = 1;
$sql2="SELECT `basiszeit` FROM `konstruktion` WHERE id = 1";
$sql2=mysql_query($sql2);
$sql2=mysql_fetch_object($sql2);
$mathd = $sql2->basiszeit;
$mathh = $sql2->basiszeit;
$mathm = $sql2->basiszeit;
$maths = $sql2->basiszeit;
for ($i=0;$i<$kon2;$i++)
{
$mathd = $mathd * 2;
$mathh = $mathh * 2;
$mathm = $mathm * 2;
$maths = $maths * 2;
};
$d = ($mathd / 86400) % 1;
$d = floor($d);
$h = ($mathh / 3600) % 24;
$h = floor($h);
$m = ($mathm / 60) % 60;
$m = floor($m);
$s = $maths % 60;
$s = floor($s);
?>
<!--ZEITAUSLESEN ENDE-->
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../css/style_plan.css">
<!-- JS CODE FÜR TIMER -->
<script>
var TimeStart = new Date();
function vxSetCounter(s) {
var p = document.getElementById("counter");
var TimeNow = new Date();
var TimeLeft= ((s*1000) - (TimeNow.getTime()-TimeStart.getTime()))/1000;
if (TimeLeft>0)
{
var Tage = parseInt(TimeLeft / (60*60*24));
TimeLeft = TimeLeft-(Tage*(60*60*24));
var Stunden = parseInt(TimeLeft / (60*60));
TimeLeft = TimeLeft-(Stunden*(60*60));
var Minuten = parseInt(TimeLeft / (60));
TimeLeft = TimeLeft-(Minuten*(60));
var Sekunden= parseInt(TimeLeft);
Stunden = Stunden + (Tage*24);
if (Stunden<10) Stunden="0"+Stunden;
if (Minuten<10) Minuten="0"+Minuten;
if (Sekunden<10)Sekunden="0"+Sekunden;
var TimeStr = Stunden+":"+Minuten+":"+Sekunden;
<!-- COUNTER AKTIV -->
p.innerHTML = TimeStr+' - <a href="overview.php">[CANCEL]</a>';
window.setTimeout("vxSetCounter("+s+")",1000);
}
else
{
<!-- LINK ZUM COUNTERAUFRUF-->
p.innerHTML = '<a href="#" onclick="vxSetCounter(<?echo $mathd;?>)">[bauen]</a>';
}
}
</script>
<!-- JS CODE TIMER ENDE-->
</head>
<body style="margin-top: 8px;" background="../img/bg.jpg">
<center>
<br><br><br><br>
<table cellpadding="0" cellspacing="0" width="600">
<tr height="20">
<td colspan="3" class="tdark" align="center">
>>Konstruktionsmenue<<
</td>
</tr>
<tr><td colspan="3" class="tdss"> </td></tr>
<!--Iridiummiene START-->
<tr height="18">
<td class="tdark" colspan="1">
<font class="folight">
Iridiummiene
(
<!-- STUFE AUSLESEN -->
<?
$sql="SELECT `kon_01` FROM `user_".$_SESSION['name']."`";
$sql=mysql_query($sql);
$sql=mysql_fetch_object($sql);
$kon1 = $sql->kon_01;
echo $kon1;
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
?>
<!-- STUFE ENDE -->
)
</font>
</td>
<td class="tdark" title="Stufe abreissen" align="right"> </td>
<td rowspan="2" class="out" align="center" valign="middle" width="100">
<img src="../img/101.jpg" >
</td>
</tr>
<tr valign="top">
<td>
Diese Miene produziert "Iridium" welches zum Bauen und Forschen gebraucht wird.<br>
<br>
KOSTEN:
<font class="folight">
<b>
<!-- KOSTEN ANZEIGE FÜR IRI -->
<?
$sql2="SELECT `iri` FROM `konstruktion` WHERE id = 1";
$sql2=mysql_query($sql2);
$sql2=mysql_fetch_object($sql2);
$math = $sql2->iri;
for ($i=0;$i<$kon;$i++)
{
$math = $math * 1.5;
};
echo floor($math);
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
?>
<!-- KOSTENANZEIGE ENDE -->
</b>
</font>
Iridium,
<font class="folight">
<b>
<!-- KOSTEN ANZEIGE FÜR SIL -->
<?
$sql2="SELECT `sil` FROM `konstruktion` WHERE id = 1";
$sql2=mysql_query($sql2);
$sql2=mysql_fetch_object($sql2);
$math = $sql2->sil;
for ($i=0;$i<$kon;$i++)
{
$math = $math * 1.5;
};
echo floor($math);
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
?>
<!-- KOSTENANZEIGE ENDE -->
</b>
</font>
Silizium<br>
Bauzeit:
<!-- ZEITANZEIGE VON GANZ OBEN -->
<?
echo "Tage:";
echo $d;
echo "<br>";
echo $h;
echo ":";
echo $m;
echo ":";
echo $s;
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
?>
<!-- ZEITANZEIGE ENDE-->
</td>
<td align="center" valign="middle" width="150px">
<center><br>
<font class="folight">
<!-- ANZEIGE DES COUNTERS -->
<div id="counter"></div>
<script>vxSetCounter();</script>
<!-- ANZEIGE ENDE -->
</font>
<!--Iridiummiene ENDE-->
</td>
</tr>
Ich hoffe mir kann jemand weiterhelfen.
Danke im Vorraus für jede nützliche Antwort.
Fire-Head
-
02-06-2006, 23:59 #2
AW: [PHP/JS]Timer auf mausklick starten - Klappt nicht so wie ich das möchte!!!
nach beenden des Counters soll eine function.php ausgeführt
Beim Click auf den Button sollte das JS-Script nicht direkt gestartet werden, sondern erst der Server etwas in die DB eintragen und die neu geladene Seite dann den Countdown starten, so kannst du auch verhindern das der Countdown von vorne losgeht wenn die Seite neu geladen wird.
Ähnliche Themen
-
Hilfe Bitte: bis zu 40 unterschiedliche linkfunktionen auf einer Seite
Von Nuuna im Forum JavaScriptAntworten: 7Letzter Beitrag: 20-12-2005, 12:05 -
Ein Tag im Freibad
Von reiflo im Forum FunAntworten: 1Letzter Beitrag: 28-06-2005, 09:38 -
IE kein Zugriff auf Apache
Von Patient im Forum Linux und CoAntworten: 4Letzter Beitrag: 31-03-2002, 04:42 -
Focus auf Shockwave-Film
Von Aichbus im Forum JavaScriptAntworten: 0Letzter Beitrag: 15-03-2002, 12:01 -
Realcount script immer auf 1
Von kakalake im Forum Serverseitige ProgrammierungAntworten: 1Letzter Beitrag: 01-09-2000, 15:57
Lesezeichen