PDA

Volledige versie bekijken : Aftellen naar een gebeurtenis


Marsz05
%Europe/Berlin %446 %2007, 10:43
Ik heb het forum al even doorgeharkt maar helaas kom ik geen 'countdown/aftel'-script welke daadwerkelijk doet wat ik zoek.

Het volgende zoek ik;

Een teller welke aftelt tot een een gebeurtenis (overleg) welke één keer per week voorkomt.

(voorbeeld op de site www.koenensandershow.nl (http://www.koenensandershow.nl) Ik bedoel dan het on air tellertje!)

Helaas heeft Googelen ook nog niets opgeleverd.

Wie kan mij hier mee op weg helpen. Het gaat dus alleen om het script. Grafisch komt het allemaal wel goed!

AnnaAngel
%Europe/Berlin %504 %2007, 12:06
hey probeer het eens met deze tutorial

http://www.kirupa.com/developer/mx/countdown.htm

je zult wel het een en ander moeten aanpassen omdat deze aftelt naar 1 specifieke tijd en jij elke week weer overnieuw wil beginnen.

Marsz05
%Europe/Berlin %676 %2007, 16:14
Thanx, het is al iets in de richting! Iemand anders een suggesties hoe deze af te laten tellen naar een specifieke tijd en dit wekelijks?

Marsz05
%Europe/Berlin %803 %2007, 19:17
In de fla kom ik dit script tegen;

//Dit is vrij te gebruiken
//maak een tekstvakje (dynamic) en noem het "tekstvak" daar komen de dagen en tijd in

// Prototype voor het Date object
Date.prototype.countDown = function()
{
// De huidige tijd word opgeslagen
var now = new Date();

// Het aantal milliseconden tussen nu en de gekozen datum wordt uitgerekend
var milisec = this - now;

// Het aantal milliseconden wordt omgerekend naar dagen, uren, minuten en seconden
var days = Math.floor(milisec / 86400000);
milisec -= (days * 86400000);

var hours = Math.floor(milisec / 3600000);
milisec -= (hours * 3600000);

var minutes = Math.floor(milisec / 60000);
milisec -= (minutes * 60000);

var seconds = Math.floor(milisec / 1000);
milisec -= (seconds * 1000);

if(hours < 10){
hours = "0" + hours;
}
if(minutes < 10){
minutes = "0" + minutes;
}
if(seconds < 10){
seconds = "0" + seconds;
}
// De tijd tot de datum teruggeven in een string
return days + " dagen " + hours + " uur " + minutes + ((minutes == 1) ? " minuut " : " minuten ") + "en " + seconds + ((seconds == 1) ? " seconde" : " seconden");
}

// Gebruik
// Een datum aanmaken (jaar, maand, dag, uur, minuten, seconcen)
var someDate = new Date(2009, 01, 01, 00, 0, 0);
// Een onEnterFrame om de countdown te tracen in het tekstvak
this.onEnterFrame = function()
{ tekstvak.text = someDate.countDown();
}

In plaats van een datum, een wekelijkse gebeurtenis. Iemand een idee?

BernardV
%Europe/Berlin %857 %2007, 20:34
Je wilt dit ook niet zo, je wilt even met een php script aan de swf doorgeven wat de tijd is en dan laten tellen, want als iemand de datum niet goed heeft op zijn/haar computer klopt er al niets van :)

Marsz05
%Europe/Berlin %859 %2007, 20:37
Iemand bekend met een soortgelijk script door BernardV beschreven?

BernardV
%Europe/Berlin %014 %2007, 00:21
Je geeft gewoon het aantal seconden tot het volgende event aan flash.
Dan laat je een timer lopen in flash die daarmee gaat rekenen..
Ben je bekend met php of een andere server scripttaal?

Jan
%Europe/Berlin %034 %2007, 00:49
Ik was hier ook even mee aan de slag gegaan maar ik kom er uiteindelijk ook niet uit. :#
Of de maanden kloppen niet of de dagen niet. 't Lijkt erop dat ik telkens een eenheid teveel heb. 't Was in in 't algemeen mijn Flash dagje niet. :@ :X
http://magrindgat.247ihost.com/aftellen/aftellen.html
Ook op andere manier zoals met mod proberen te berekenen maar 't gaf altijd hetzelfde. [V]
gedeelte van het:
var gegevens:LoadVars = new LoadVars();
gegevens.onLoad = function(success:Boolean)
{
if (success)
{
nu = Number(gegevens.datum);
setInterval(optellen,1000);
}
}

var afteldatum_date:Date=new Date(Date.UTC(jaar,maand,dag,uur,minuut,secconden) );
afteldatum.text=afteldatum_date.valueOf()/1000;//flash time in seconden(ipv milliseconden)

verschil.text=Number(afteldatum.text)-nu;//seconden tot flash time
var totaalAantalSeconden:Number=Number(verschil.text)//aantal seconden die afgeteld moeten worden

//berekenen van de verschillende aantallen
var aantaljaar:Number=Math.floor(totaalAantalSeconden/31556926);
var aantalmaand:Number=Math.floor((totaalAantalSeconde n-aantaljaar*31556926)/2629743.83)
var aantaldag:Number=Math.floor((totaalAantalSeconden-aantaljaar*31556926-aantalmaand*2629743.83)/86400)
var aantaluur:Number=Math.floor((totaalAantalSeconden-aantaljaar*31556926-aantalmaand*2629743.83-aantaldag*86400)/3600)
var aantalminuut:Number=Math.floor((totaalAantalSecond en-aantaljaar*31556926-aantalmaand*2629743.83-aantaldag*86400-aantaluur*3600)/60)
var aantalseconden:Number=Math.floor(totaalAantalSecon den-aantaljaar*31556926-aantalmaand*2629743.83-aantaldag*86400-aantaluur*3600-aantalminuut*60)

en in PHP:
<?
$vandaag=date(U);
echo "&datum=$vandaag";
?>
Edit: DAMN, nu ik het hier plaats zie ik daar secconden staan [V] :X
var afteldatum_date:Date=new Date(Date.UTC(jaar,maand,dag,uur,minuut,secconden) );
Super edit: Maakt geen verschil uit,(die waren toch 0 in mijn voorbeeld) still the same sh*t. :(

BernardV
%Europe/Berlin %041 %2007, 01:00
php werkt in seconden en flash in miliseconden
Dus alles wat je van php binnenkrijgt * 1000 en het werkt in flash :)
Je kunt dan ook iets doen als:
var date:Date = new Date(phpDate * 1000);

Jan
%Europe/Berlin %043 %2007, 01:02
Hmm da wist ik. :P
Daarom had ik:
var afteldatum_date:Date=new Date(Date.UTC(jaar,maand,dag,uur,minuut,secconden) );
afteldatum.text=afteldatum_date.valueOf()/1000;//flash time in seconden(ipv milliseconden)
De fout moet echt in mijn berekeningswijze zitten. P)

BernardV
%Europe/Berlin %045 %2007, 01:05
Ah niet gezien :P Wordt al laat ;)

Vond nog wel 2 posts die hier ook min of meer over gaan:
http://www.flashfocus.nl/forum/showthread.php?t=33402
http://www.flashfocus.nl/forum/showthread.php?t=20391

Waar haal je 2629743.83 trouwens vandaan?

Jan
%Europe/Berlin %048 %2007, 01:09
Waar haal je 2629743.83 trouwens vandaan?
http://www.google.be/search?q=seconds+in+one+year
http://www.google.be/search?q=seconds+in+one+month
etc.

BernardV
%Europe/Berlin %048 %2007, 01:10
lol :P
Ik zou het toch ander moet met een %, maar dit wist ik niet :D weer wat geleerd! (Zal alleen niet opgaan voor alle maanden, maar een % ook niet...)

Jan
%Europe/Berlin %051 %2007, 01:13
Ik zou het toch ander moet met een %,
Ook op andere manier zoals met mod proberen te berekenen maar 't gaf altijd hetzelfde.
Het verschil in seconden is ook groter dan 1 maand. :S
En ook decimaal
:P hehe

BernardV
%Europe/Berlin %052 %2007, 01:15
En ook decimaal
:P hehe

Deze ook bekeken dan? ;) http://www.flashfocus.nl/forum/showpost.php?p=168994&postcount=8

Ik zal mijn hoofd hier nog eens over buigen, want als je het goed wilt doen neem je schrikkeljaar, maand lengte etc mee..

Jan
%Europe/Berlin %054 %2007, 01:18
Deze ook bekeken dan? ;) http://www.flashfocus.nl/forum/showpost.php?p=168994&postcount=8

Nee, nog niet, ben met u aan het babbelen hè. :D
Maar volgens mij is de berekening misschien toch niet zo fout. |)
http://magrindgat.247ihost.com/aftellen/aftellen.html
Het verschil is iets van 4.949.026 en er zijn (volgens Google, en die geloof ik) 2.629.743
seconden in een maand...
Dus het verschil moet fout zijn, of de tijd die ik van de server krijg moet fout zijn.

Edit:
Als ik in mijn voorbeeld 1970, 1 jan 0 uur ingeef dan krijg ik: 2.678.400 :S
En als ik 1969, 1 december 0 uur ingeef dan krijg ik 0 :S

EDIT: gevonden (denk ik)


Parameters
month:Number - An integer from 0 (January) to 11 (December).
Hoe verzinnen ze het?! :@ [:o)]
Damn, en dan kunt ge u een uur zitten blindstaren op de berekening. :(

Marsz05
%Europe/Berlin %435 %2007, 10:27
Adnez, kun je het uiteindelijke scripts online zetten? Kan ik daar even mee gaan puzzelen. Kun je hiermee ook een repeterende gebeurtenis mee aansturen?

Jan
%Europe/Berlin %522 %2007, 12:32
Adnez, kun je het uiteindelijke scripts online zetten?
http://magrindgat.247ihost.com/aftellen/aftellen.html
http://users.telenet.be/jansurf/aftellen/aftellen.fla


Kan ik daar even mee gaan puzzelen. Kun je hiermee ook een repeterende gebeurtenis mee aansturen?
ja, als je het (php)script wat aanpast. :)

Het volledige php script :D
<?
$vandaag=date(U);//wel eventueel rekening houden met de tijdzone (Z)
echo "&datum=$vandaag";
?>

Marsz05
%Europe/Berlin %537 %2007, 12:53
Thanx! Bedankt voor de service!