PDA

Просмотр полной версии : Обратный отсчет


Геннадий
17.12.2010, 20:36
Всем здравствуйте! Возник вот какой вопрос: надо сделать баннер рекламирующий определенный продукт, количество которого ограничено. Допустим всего 30 товаров. И надо сделать так, чтобы каждый день счет товара уменьшался.
Может конечно уже обсуждалась эта тема на форуме, ситуация не позволяет искать ответы и разбираться с данным вопросом. Если кто знает как правильно такое сделать, помогите пожалуйста!!! Буду очень благодарен!!

udaaff
17.12.2010, 21:04
Вам в вакансии!!!

drnet_ua
17.12.2010, 22:33
дату проверяйте

например на 17.12.2010 у вас было 100 утюгов, а 27.12 они должны закончится

100 утюгов / 10 дней = 10 утюгов в день

10 утюгов в день / 8 часов работы магазина (с 9 до 19) = 1 утюг в час

итого каждый час у вас утюги будут уменьшаться

если их много - можно брать еще и минуты/секунды

красота :)

Геннадий
18.12.2010, 00:17
Я наверно не совсем правильно объяснил что именно мне надо сделать) Нужен баннер с таймером, но не по секундным, а по дням. Точнее на 30 дней. По истечению каждого дня, число уменьшается (30,29,28 и тд.)
Такое возможно сделать?

Спасибо!!!

etc
18.12.2010, 00:35
Да, это возможно и вам нужно изучить досконально класс Date.

drnet_ua
18.12.2010, 01:55
public function countDown(startDate:Date = null, endDate:Date = null, itemCountStart:Number = 1000):Number
{
if (startDate == null) {
startDate = new Date(2010, 12, 1);
}

if (endDate == null) {
endDate = new Date(2010, 12, 31);
}

var totalRange:Number = endDate.date - startDate.date;

var timePassed:Number = endDate.date - new Date().date;

return uint((timePassed / totalRange) * itemCountStart);
}

в пределах одного месяца работает :)

Геннадий
19.12.2010, 16:53
А вот этот год может решить мою задачу? Если 1000 - это секунда, в минуте 60 секунд и тд.)))

var count:Number = 30;

var myTimer:Timer = new Timer(1000,count);

myTimer.addEventListener(TimerEvent.TIMER, countdown);

myTimer.start();

function countdown(event:TimerEvent):void {
myText_txt.text = String((count)-myTimer.currentCount);
}

drnet_ua
19.12.2010, 17:58
я думаю что нет.

а вы как думаете?

Геннадий
19.12.2010, 18:11
Вот теперь и я думаю что нет)))))

Добавлено через 49 часов 12 минут
Вот такой код вроде как работает))) Но мне интересен вот какой момент, счетчик доходя до указанной даты начинает заново. Как это можно исправить?

var endDate:Date = new Date(2010, 12, 20, 24, 0, 0);
var endTime:Number = endDate.getTime();
this.onEnterFrame = function() {
var dif:Number = Math.floor((endTime-new Date().getTime())/1000);

var days:Number = Math.floor(dif/86400);
var sng='\n'+days+'';

pozd_txt.text=sng;
if(dif<=0){

delete this.onEnterFrame;
}
}