[Помощь] обратный отсчет

Тема в разделе "Флеш", создана пользователем core19, 25 май 2009.

Статус темы:
Закрыта.
  1. core19

    core19

    Регистр.:
    27 июн 2008
    Сообщения:
    159
    Симпатии:
    59
    Суть проблемы. Есть в наличии исходник обратного отсчета. Дело в том что все работает кроме отсчета дня. Он стоит на месте. Проходит 24 часа и дата та же. Помогите найти решение проблемы...
    (исходник *.fla прилагается)
     

    Вложения:

    • time.zip
      Размер файла:
      10,9 КБ
      Просмотров:
      9
  2. core19

    core19

    Регистр.:
    27 июн 2008
    Сообщения:
    159
    Симпатии:
    59
    Спасибо ребятам з flasher ру ... помогли... вот результат робочий...
    :yahoo:
    HTML:
    myd = new Date();
    год = myd.getFullYear();
    час = myd.getHours();
    мин = myd.getMinutes();
    сек = myd.getSeconds();
    част = 23 - eval("час");
    минт = 59 - eval("мин");
    сект = 59 - eval("сек");
    var d = new Date(eval("год"), 6, 1);  <!--меняем на свои  ..мес. день-->
    var n = new Date();
    var деньв = Math.floor((d - n) / 1000 / 60 / 60 / 24);
    if (Number(eval("деньв")) > 0)
    {
        var d = new Date(eval("год"), 6, 1);   <!--меняем на свои  ..мес. день-->
        var n = new Date();
        var деньт = Math.floor((d - n) / 1000 / 60 / 60 / 24);
    }
    else
    {
        var d = new Date(eval("год") + 1, 6, 1); <!--меняем на свои  ..мес. день-->
        var n = new Date();
        var деньт = Math.floor((d - n) / 1000 / 60 / 60 / 24);
    } // end else if
    if (Number(eval("деньв")) == -1)
    {
        счетчик = "0 дней, часов, минут, секунд - УРА!";
    }
    else
    {
        счетчик = eval("деньт") + " дн.  " + eval("част") + " час.  " + eval("минт") + " мин.  " + eval("сект") + " сек.";
    } // end else if
    
     
  3. core19

    core19

    Регистр.:
    27 июн 2008
    Сообщения:
    159
    Симпатии:
    59
    Вот другой рабочий вариант. AC2 "обратный отсчет" :ay:
    HTML:
    
    var oneBigMovie:MovieClip = this.createEmptyMovieClip('bigMovie', 998);
    oneBigMovie._x = oneBigMovie._y=100;
    var endtime:TextField = oneBigMovie.createTextField("endtime", 550, 90, 100, 60, 30);
    endtime.autoSize = true;
    endtime.multiline = true;
    //
    var info_time:TextField = oneBigMovie.createTextField("info_time", 551, 90, -50, 60, 30);
    info_time.autoSize = true;
    info_time.multiline = true;
    var btn:MovieClip = oneBigMovie.createEmptyMovieClip("btn", 2);
    with (btn) {
    	beginFill(0xC4C4C4);
    	moveTo(10,10);
    	lineTo(160,10);
    	lineTo(160,40);
    	lineTo(10,40);
    	endFill();
    }
    btn._y = 30;
    var txt2:TextField = btn.createTextField("txt2", 999, 10, 10, 100, 100);
    txt2.text = "Изменить Дату";
    //Год
    var god:TextField = oneBigMovie.createTextField("god", 3, 10, 10, 60, 30);
    god.border = true;
    god.type = "input";
    god.text = "2014";
    //Месяц
    var mes:TextField = oneBigMovie.createTextField("mes", 4, 90, 10, 60, 30);
    mes.border = true;
    mes.type = "input";
    mes.text = "1";
    //День
    var day:TextField = oneBigMovie.createTextField("day", 5, 170, 10, 60, 30);
    day.border = true;
    day.type = "input";
    day.text = "1";
    //Часы
    var chas:TextField = oneBigMovie.createTextField("chas", 6, 250, 10, 60, 30);
    chas.border = true;
    chas.type = "input";
    chas.text = "1";
    //Минуты
    var min:TextField = oneBigMovie.createTextField("min", 7, 330, 10, 60, 30);
    min.border = true;
    min.type = "input";
    min.text = "1";
    btn.onPress = apply_func;
    function apply_func():Void {
    	if (mes.length>=1 && day.length>=1 && chas.length>=1 && min.length>=1) {
    //То, что вам нужно>>>>>	
    	var god = god.text;
    		var mes = mes.text;
    		var day = day.text;
    		var chas = chas.text;
    		var min = min.text;
    		trace(god);
    		var endDate:Date = new Date(god, mes, day, chas, min, 0);
    		var endTime:Number = endDate.getTime();
    		this.onEnterFrame = function() {
    			info_time.text = "";
    			var dif:Number = Math.floor((endTime-new Date().getTime())/1000);
    			var sec:Number = dif%60;
    			var min:Number = Math.floor(dif/60)%60;
    			var hou:Number = Math.floor(dif/3600)%24;
    			var days:Number = Math.floor(dif/86400);
    			endtime.text = ' До Олимпиады в Сочи:\n Осталось дней - '+days+'\n часов - '+hou+'\n минут - '+min+'\n секунд - '+sec;
    			if (endDate.getTime()-dif>=endTime) {
    				trace("Время Вышло!");
    				info_time.text = "Время Вышло!";
    				delete this.onEnterFrame;
    			}
    		}
    //<<<<
    	} else {
    		info_time.text = 'Настройте Дату!';
    	}
    }
    
     
Статус темы:
Закрыта.