Jag har en countdown och jag har tre problem.

Flash

1 svar · 349 visningar · startad av saturday

Medlem sedan jan. 2007133 inlägg
Trådstart#1

Hej igen!

Jag sitter på två problem. Jag har lyckats knopa ihop ett script till en countdown(nedräkning) som ser ut så här:

this.onEnterFrame = function(){
	var today:Date = new Date();
	var currentYear = today.getFullYear();
	var currentTime = today.getTime();

	//Target date
	var targetDate:Date = new Date(2008,5-1,22);
	
	var targetTime = targetDate.getTime();
	var timeLeft = targetTime - currentTime;
	var sec = Math.floor(timeLeft/1000)
	var min = Math.floor(sec/60)
	var hours = Math.floor(min/60)
	var days = Math.floor(hours/24)
	
	sec = String(sec % 60)
	if (sec.length < 2) {
		sec = "0" + sec
	}
	
	min = String(min % 60)
	if (min.length < 2) {
		min = "0" + min
	}
	
	hours = String(hours % 24)
	if (hours.length < 2) {	
		hours = "0" + hours
	}
	
	days = String(days)
	if (days.length = 2) {	
		days = "0" + days
	} else if (days.length = 1) {	
		days = "00" + days
	} else if (days.length = 0) {	
		days = "000"
	}

	sec_txt.text = sec;
	min_txt.text = min;
	hours_txt.text = hours;
	days_txt.text = days;
}
stop();

Problem 1:
Även fast days är 0, dvs mindre än 24 timmar till måldatumet, så skrivs inte "000" ut utan bara "00".

Problem 2:
Detta är kanske det jobbigaste problemet. Jag vill att när days, hours, min och sec står på noll (000:00:00:00) så ska filmen hoppa till frame 2. Jag har prövat allt min fantasi kan komma på men hur jag än gör får jag det att bugga ur. Någon som kan hjälpa mig att få till ett event på noll-slaget?

Medlem sedan jan. 2007133 inlägg
#2

Löste det själv via annan hjälp. Postar det fungerande scriptet nedan:

stop();
this.onEnterFrame = function(){
	var today:Date = new Date();
	var currentYear = today.getFullYear();
	var currentTime = today.getTime();

	//Target date
	var targetDate:Date = new Date(2008,5-1,12);
	
	var targetTime = targetDate.getTime();
	var timeLeft = targetTime - currentTime;
	var sec = Math.floor(timeLeft/1000)
	var min = Math.floor(sec/60)
	var hours = Math.floor(min/60)
	var days = Math.floor(hours/24)
	
	//Checks if zero point is passed
	if (days <= -1) { 
	 gotoAndStop(2);
	}
	
	sec = String(sec % 60)
	if (sec.length < 2) {
		sec = "0" + sec
	}
	
	min = String(min % 60)
	if (min.length < 2) {
		min = "0" + min
	}
	
	hours = String(hours % 24)
	if (hours.length < 2) {	
		hours = "0" + hours
	}
	
	days = String(days)
	if (days.length == 2) {	
		days = "0" + days
	} else if (days.length == 1) {	
		days = "00" + days
	} else if (days.length == 0) {	
		days = "000"
	}

	sec_txt.text = sec;
	min_txt.text = min;
	hours_txt.text = hours;
	days_txt.text = days;
}
252 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)