Eli jos saisin jonkun koodin jolla saisin ajastimen sivuilleni esim php tai java
esim kello joka kuluu koko ajan alaspäin, esim 5.00-> 4.59-> 4.58.....jne
Pitääkö laskurin muuttua reaaliaikaisesti vai riittääkö oikean arvon näkyminen sivun lataushetkellä?
reaaliaikaisesti,ta siis kello voi näyttää mitä tahansa aikaa esim 3.45 kun joku tulee sivulle.
Tässä on yksi ajastin, joka on tehty JavaScriptillä:
<p id="laskuri">XX:XX</p> <script> var min = 3; var sek = 45; function paivita() { var laskuri = document.getElementById("laskuri"); tmin = min; if (min < 10) tmin = "0" + min; tsek = sek; if (sek < 10) tsek = "0" + sek; laskuri.innerHTML = tmin + ":" + tsek; if (sek == 0) { min--; sek = 59; } else { sek--; } if (min >= 0 && sek >= 0) { setTimeout("paivita()", 1000); } else { alert("Aika loppui!"); } } paivita(); </script>
Aloitusajan voi toki määrittää myös PHP:llä:
Kiitos Toimii.entä sellainen kello kuin esimerkiksi fiksuhuuto.fi,missä kello ei lähtisi aina samasta.
tuo ajastin mikä toimii,niin jos niitä laittaa useamman niin ei toimi kuin yksi.
Sijoita tuo PHP-koodi seuraavien rivien tilalle:
var min = 3; var sek = 45;
Nyt voi PHP:n avulla päättää kellon aloitusajan.
Mistä aloitusajan pitäisi sitten riippua?
sijoitin tuli vain xx.xx
Kyllä tuo minulla toimii. Muistithan tallentaa tiedoston PHP-päätteellä?
Juu,mutta tua javascript oli ihan hyvä ainut oli että kun sivulle meni se alkoi aina 3.45,eli jos haluaisin vaikka laittaa ajan 55min niin sitten kun menisin vähän ajan päästä uudestaa niin siellä oli esim 48min,eikä taas se 55min.ja että noista toimisi muutkin kuin yksi jos niitä on useampia,en tiedä osasinko selittää mutta samanlaiset kuin siellä fiksuhuuto.fi
Eli tiedossasi on, milloin laskurin täytyy saavuttaa nolla?
Esim. seuraava koodi aiheuttaa, että laskuri mittaa aikaa kello neljään tänään.
<?php $aika = mktime(16, 0, 0, 2, 17, 2008) - time(); $min = (int)($aika / 60); $sek = $aika % 60; echo "var min = $min;"; echo "var sek = $sek;"; ?>
Siis laskurin aloitusarvo täytyy laskea tunnetun päättymishetken avulla.
Yllä olevan koodin voisi toteuttaa myös JavaScriptillä, mutta jos päättymishetki haetaan esim. tietokannasta, tarvitaan avuksi PHP:tä.
joo eli miten tallennan tuon php muotoon, koko sivu minne laitan koodin vai?
en tiedä miksi en saa php.tä toimimaan,javascripti toimii,onkohan mitään mahdollisuutta saada samanlaista ajastinta kuin siellä fiksuhuudossa.
eikö tosta koodista voisi tehdä minuuttilaskurin?
Kopioi tämä koodi <head></head> tagien väliin
<script language="JavaScript">
var Temp2;
var timerID = null;
var timerRunning = false;
function showtime() {
now = new Date();
var CurHour = now.getHours();
var CurMinute = now.getMinutes();
var CurMonth = now.getMonth();
var CurDate = now.getDate();
var CurYear = now.getYear();
var CurSecond = now.getSeconds();
now = null;
Hourleft = 23 - CurHour
Minuteleft = 59 - CurMinute
Secondleft = 59 - CurSecond
var Monthleft = 11 - CurMonth
var Dateleft = 31 - CurDate
if (Monthleft!=1) {var mos="tta"} else {var mos="si"}
if (Dateleft < 0) {Monthleft = Monthleft - 1, Dateleft = Daysinmonth - 1 + Dateleft } else {Monthleft = Monthleft}
if (Dateleft!=1) {var ds="ä"} else {var ds=""}
if (Hourleft!=1) {var hs="a"} else {var hs=""}
if (Minuteleft!=1) {var mis="a"} else {var mis=""}
if (Secondleft!=1) {var ss="a"} else {var ss=""}
Temp2='Vielä '+Monthleft+' kuukau'+mos+', '+Dateleft+' päivä'+ds+', '+Hourleft+' tunti'+hs+', '+Minuteleft+' minuutti'+mis+', '+Secondleft+' sekuntti'+ss+' Uuteen vuoteen! '
Temp3=+Monthleft+' kuukau'+mos+', '+Dateleft+' päivä'+ds+', '+Hourleft+' tunti'+hs+', '+Minuteleft+' minuutti'+mis+', '+Secondleft+' sekuntti'+ss
window.status=Temp2;
document.frm.left.value=Temp3;
timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
var timerID = null;
var timerRunning = false;
function stopclock () {
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock () {
stopclock();
showtime();
}
</script>
Nyt laita tämä koodi bodyn sisälle
<body onLoad="startclock()">
Esimerkiksi:
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#000080" ALINK="#000080" onLoad="startclock()">
Nyt voit laittaa tämän koodin mihin tahansa sivulle
<form name="frm">
<input type="textarea" name="left" size=63>
</form>
Antti Laaksonen kirjoitti:
Eli tiedossasi on, milloin laskurin täytyy saavuttaa nolla?
Esim. seuraava koodi aiheuttaa, että laskuri mittaa aikaa kello neljään tänään.
<?php $aika = mktime(16, 0, 0, 2, 17, 2008) - time(); $min = (int)($aika / 60); $sek = $aika % 60; echo "var min = $min;"; echo "var sek = $sek;"; ?>Siis laskurin aloitusarvo täytyy laskea tunnetun päättymishetken avulla.
Yllä olevan koodin voisi toteuttaa myös JavaScriptillä, mutta jos päättymishetki haetaan esim. tietokannasta, tarvitaan avuksi PHP:tä.
Okei sain tämän toimimaan,mutta kun laitan toisen laskurin niin tonen ei liiku ja toisesta vähenee aina 2sek,miten saada vaikka 6 laskuria toimimaan samanaiaisesti.
Aihe on jo aika vanha, joten et voi enää vastata siihen.