Войти

Показать полную графическую версию : Автоматическая установка даты отсчета в счетчике.


Андрей_Угаров@vk
11-08-2013, 17:14
Здравствуйте.
Необходимо сделать чтобы счетчик начинал свой отчет в 10.00 и отсчитывал время до 22.00 (т.е. с 22.00 до 10.00 он будет показывать нули)

Думаю реализовать таким образом:
в 10.00 запускается php скрипт который увеличивает значение на единицу(значение даты сохранено в файле txt)

Только я незнаю как в javascript прочитать значение из txt файла.

Вот код счетчика( дата и время до которого идет отсчет в самом начале кода):
<script type="text/javascript">
// page init
jQuery(function(){
get_timer();
});

function get_timer(){

var Month = "August";
var Day = "10";
var Year = "2013";
var Hours = "22";

var date_new = Month + Day + "," + Year + " "+Hours+":09";
////////////////////////////////////
////////////////////////////////////
//Объект даты для обратного отсчета
var date_t = new Date(date_new);
//Объект текущей даты
var date = new Date();
//Вычесляем сколько миллисекунд пройдет
//от текущей даты до даты отсчета времени
var timer = date_t - date;
//Проверяем не нужно ли закончить отсчет
//если дата отсчета еще не истекла, то количество
//миллисекунд в переменной date_t будет больше чем в переменной date
if(date_t > date) {
//Вычисляем сколько осталось дней до даты отсчета.
//Для этого количество миллисекунд до даты остчета делим
//на количество миллисекунд в одном дне
var day = parseInt(timer/(60*60*1000*24));
//если полученное число меньше 10 прибавляем 0
if(day < 10) {
day = '0' + day;
}
//Приводим результат к строке
day = day.toString();
//Вычисляем сколько осталось часов до даты отсчета.
//Для этого переменную timer делим на количество
//миллисекунд в одном часе и отбрасываем дни
var hour = parseInt(timer/(60*60*1000))%24;
//если полученное число меньше 10 прибавляем 0
if(hour < 10) {
hour = '0' + hour;
}
//Приводим результат к строке
hour = hour.toString();
//Вычисляем сколько осталось минут до даты отсчета.
//Для этого переменную timer делим на количество
//миллисекунд в одной минуте и отбрасываем часы
var min = parseInt(timer/(1000*60))%60;
//если полученное число меньше 10 прибавляем 0
if(min < 10) {
min = '0' + min;
}
//Приводим результат к строке
min = min.toString();
//Вычисляем сколько осталось секунд до даты отсчета.
//Для этого переменную timer делим на количество
//миллисекунд в одной минуте и отбрасываем минуты
var sec = parseInt(timer/1000)%60;
//если полученное число меньше 10 прибавляем 0
if(sec < 10) {
sec = '0' + sec;
}
//Приводим результат к строке
sec = sec.toString();
//Выводим дни
//Проверяем какие предыдущие цифры времени должны вывестись на экран
//Для десятков дней
if(day[1] == 9 &&
hour[0] == 2 &&
hour[1] == 3 &&
min[0] == 5 &&
min[1] == 9 &&
sec[0] == 5 &&
sec[1] == 9) {
animation(jQuery(".day0"),day[0]);
}
else {
jQuery(".day0").html(day[0]);
}
//Для единиц дней
if(hour[0] == 2 &&
hour[1] == 3 &&
min[0] == 5 &&
min[1] == 9 &&
sec[0] == 5 &&
sec[1] == 9) {
animation(jQuery(".day1"),day[1]);
}
else {
jQuery(".day1").html(day[1]);
}
//Выводим часы
//Проверяем какие предыдущие цифры времени должны вывестись на экран
//Для десятков часов
if(hour[1] == 3 &&
min[0] == 5 &&
min[1] == 9 &&
sec[0] == 5 &&
sec[1] == 9) {
animation(jQuery(".hour0"),hour[0]);
}
else {
jQuery(".hour0").html(hour[0]);
}
//Для единиц чассов
if(min[0] == 5 &&
min[1] == 9 &&
sec[0] == 5 &&
sec[1] == 9) {
animation(jQuery(".hour1"),hour[1]);
}
else {
jQuery(".hour1").html(hour[1]);
}
//Выводим минуты
//Проверяем какие предыдущие цифры времени должны вывестись на экран
//Для десятков минут
if(min[1] == 9 &&
sec[0] == 5 &&
sec[1] == 9) {
animation(jQuery(".min0"),min[0]);
}
else {
jQuery(".min0").html(min[0]);
}
//Для единиц минут
if(sec[0] == 5 && sec[1] == 9) {
animation(jQuery(".min1"),min[1]);
}
else {
jQuery(".min1").html(min[1]);
}
//Выводим секунды
//Проверяем какие предыдущие цифры времени должны вывестись на экран
//Для десятков секунд
if(sec[1] == 9) {
animation(jQuery(".sec0"),sec[0]);
}
else {
jQuery(".sec0").html(sec[0]);
}
animation(jQuery(".sec1"),sec[1]);
//Периодически вызываем созданную функцию,
//интервал вызова одна секунда(1000 милли секунд)
setTimeout(get_timer,1000);
}
else {
jQuery(".clock").html();
};

//Функция для красивого отображения времени.
function animation(vibor,param) {
vibor.html(param)
.css({'marginTop':'-20px','opacity':'0'})
.animate({'marginTop':'0px','opacity':'1'});
};
}
//Вызываем функцию на исполнение
</script>
<div class="clock">
<div class='day dash days_dash'>
<div class='day0 ptaimer digit'>0</div>
<div class='day1 ptaimer digit'>0</div>
</div>
<div class='hour dash hours_dash'>
<div class='hour0 ptaimer digit'>0</div>
<div class='hour1 ptaimer digit'>0</div>
</div>
<div class='min dash minutes_dash'>
<div class='min0 ptaimer digit'>0</div>
<div class='min1 ptaimer digit'>0</div>
</div>
<div class='sec dash seconds_dash'>
<div class='sec0 ptaimer digit'>0</div>
<div class='sec1 ptaimer digit'>0</div>
</div>
</div>

</div>

Как прочитать значения var Month = ""; var Day = "";var Year = "";var Hours = ""; из текстовых файлов?
Или есть более изящное решение.
Заранее благодарен




© OSzone.net 2001-2012