Ik heb een vraag over jQuery. Ik heb een stukje code waarmee ik vanaf een zelf bepaald punt kan terugtellen, alleen gaat dat in seconden. Nu wil ik graag dat dat gebeurt in uren, minuten en seconden. Is dit makkelijk op te lossen met deze code, of moet ik dan iets heel anders zoeken?
Ik heb nog steeds geen oplossing kunnen vinden voor mijn probleem. Is er iemand die me kan helpen met een zetje in de goede richting hoe ik dit kan doen (met deze code)?
Je conversie van countdown naar hh:mm:ss moet elke seconde gebeuren, dus elke interval. Met andere woorden moet je code binnen de interval uitgevoerd worden.
Eh, als ik `secs` doe i.p.v `count` werkt het wel, totdat de seconde op 0 komt, Dan gaat hij verder met min getallen. Ik snap niet precies wat je bedoelt met `binnen de interval`?
Zoals ik het begrijp, staat dit allemaal in de interval, aangezien je hem `set` en daarna `clear` je hem. Ik ben geen kei in JS, maar dat is wel te zien.
$(document).ready(function() {
$('tr[id]').each(function() {
countdown = setInterval(function() {
// de berekening dus binnen de setInterval functie
var $this = $(this);
var count = parseInt($this.attr("id"));
var days = Math.floor(count/(60*60*24));
var hours = Math.floor(count/(60*60))%24;
var mins = Math.floor(count/60)%60;
var secs = count%60;
$('.remain', $this).html(hours + ":" + mins + ":" + secs);
if (count-- == 0) {
//do something
clearInterval(countdown);
}
}, 1000);
});
});
[size=xsmall]Toevoeging op 25/11/2012 16:06:59:[/size]
Je gebruikt trouwens óf $(document).ready() óf $(window).load()
De eerste gebruik je als je iets wilt doen als de volledige DOM geladen is, de tweede als je wilt dat naast de DOM ook alle overige content (zoals bijvoorbeeld plaatjes) geladen zijn voordat je iets uitvoert.