Вход

Просмотр полной версии : flash refresh


zlibeg
15.10.2007, 16:25
Привет! Столкнулся с маленькой проблемкой.

Задача: сделать аналоговые часы, чтобы в интервале с 8 утра до 17 вечера у них появлялась обводка, а в остальное время отсутсвовала.

Всё сделал, но когда смотришь в онлайне, после 17 обводка сама не пропадает, обязательно нужно сделать рефреш страницы.

Как можно решить эту проблему?
Заранее спасибо

CrazyFlasher
15.10.2007, 16:27
ну потому что у вас видимо идёт проверка на "обводку" только когда часы загрузились. А надо поставить проверку на каждуюу минуту к примеру

zlibeg
15.10.2007, 16:30
ну потому что у вас видимо идёт проверка на "обводку" только когда часы загрузились. А надо поставить проверку на каждуюу минуту к примеру

во во, так и надо!

mydate = new Date();
hours = mydate.getUTCHours()+3;

if (int (hours)>8 and (hours)<17) {
bg1._alpha = 100;
} else {
bg1._alpha = 0;
}
как это здесь реализовать?

CrazyFlasher
15.10.2007, 16:47
засунуть всё это в функцию и вызывать раз в минуту с помощью
setInterval(this, "myFunction", 60000);

zlibeg
15.10.2007, 17:01
сделал так - не работает :(

mydate = new Date();
hours = mydate.getUTCHours()+3;

obj = new Object();
obj.interval = function() {

if (int (hours)>8 and (hours)<15) {
bg1._alpha = 100;
} else {
bg1._alpha = 0;
}

}
setInterval( obj, "interval", 100 );

alexcon314
15.10.2007, 17:22
mydate = new Date();
hours = mydate.getUTCHours()+3;
function interval () {
if (hours>=8 and hours<=15) {
bg1._alpha = 100;
} else {
bg1._alpha = 0;
}

}
setInterval( interval,60000 );

CrazyFlasher
15.10.2007, 17:23
mydate = new Date();

function checkTime() : Void {
hours = mydate.getUTCHours()+3;

if (int (hours)>8 and (hours)<15) {
bg1._alpha = 100;
} else {
bg1._alpha = 0;
}
}
setInterval( checkTime, 60000);


2 alexcon314: mydate.getUTCHours()+3 надо тоже заново брать

alexcon314
15.10.2007, 17:27
и то верно..

zlibeg
15.10.2007, 18:23
не работает почему-то.
проверяет время только один раз после загрузки (через 1 минуту если 60000 и через одну секунду если 1000)
и всё

CrazyFlasher
15.10.2007, 18:27
запихни mydate = new Date(); тоже в функцию

zlibeg
15.10.2007, 18:35
Так и делаю, старик! Вот код

mydate = new Date();
function checkTime() : Void {
hours = mydate.getUTCHours()+3;

if (int (hours)>8 and (hours)<16) {
bg1._alpha = 100;
} else {
bg1._alpha = 0;
}
}
setInterval( checkTime, 1000);

zlibeg
15.10.2007, 18:46
мх 2004

CrazyFlasher
15.10.2007, 18:58
всё работает правильно...я не понимаю, что тут не так? если вы хотите проверка и при загрузке сразу прошла - вызовите эту функцию в начале тоже

mydate = new Date();
function checkTime() : Void {
hours = mydate.getUTCHours()+3;

if (int (hours)>8 and (hours)<16) {
bg1._alpha = 100;
} else {
bg1._alpha = 0;
}
}
checkTime()
setInterval( checkTime, 60000);

zlibeg
15.10.2007, 19:06
ну сама рамка не пропадает, только при рефреше
посмотрите пожалуйста файл в аттаче

Kikasso
15.10.2007, 19:28
Нафига каждую секунду проверять то, что меняется раз в час? Кстати, оно вообще не меняется, потому что
mydate = new Date();
у вас стоит вне функции.
Или вы думаете, что с сотого раза mydate изменится? ))

CrazyFlasher
15.10.2007, 19:34
Нафига каждую секунду проверять то, что меняется раз в час? Кстати, оно вообще не меняется, потому что
mydate = new Date();
у вас стоит вне функции.
Или вы думаете, что с сотого раза mydate изменится? ))


эммм...помоему достаточно один раз создать объект класса Date

Kikasso
15.10.2007, 19:49
эммм...помоему достаточно один раз создать объект класса Date
да-да.

mydate = new Date();
function checkTime() : Void {
trace( mydate.getSeconds() );
}
checkTime()
setInterval( checkTime, 1000);

zlibeg
16.10.2007, 12:53
Теперь trace каждую секунду выводит одно и тоже время (секунду, на которой был включен просмотр) и оно не меняется

mydate = new Date();
function checkTime() : Void {
trace( mydate.getSeconds() );
hours = mydate.getUTCHours()+3;
if (int (hours)>8 and (hours)<12) {
bg1._alpha = 100;
} else {
bg1._alpha = 0;
}
}
checkTime()
setInterval( checkTime, 1000);

сделал второй фрейм и пославил на него gotoAndPlay(1);
всё бль заработало. всем спасибо :O)

Kikasso
16.10.2007, 13:32
А с чего оно должно меняться? Вы дату один раз создали, и потом у нее спрашиваете одно и то же.