Хочу сделать на сайте таймер обратного отсчета на заполнение веб формы
Что сделала
1. В шаблоне
2. В компоненте
Надо сделать, так чтобы когда человек заходит на страницу с веб формой запускался счетчик и если страницу обновить он так бы и не сбрасывался до полного обнуления
может у кого есть предложения на тему?
Что сделала
1. В шаблоне
| Код |
|---|
<?//echo '<pre>'; print_r($arResult["SECONDS_TO_END_STRING"]); echo '</pre>';?>
<div id="learn-test-timer" title="<?=GetMessage("LEARNING_TEST_TIME_LIMIT");?>"><?=$arResult["SECONDS_TO_END_STRING"]?></div>
<script type="text/javascript">
var clockID = null; clockID = setTimeout("UpdateClock(<?=$arResult["SECONDS_TO_END"]?>)", 950);
</script>
|
2. В компоненте
| Код |
|---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
require_once($_SERVER["DOCUMENT_ROOT"].$componentPath."/functions.php");
?><?
$arResult = Array(
"SECONDS_TO_END" => 0,
"SECONDS_TO_END_STRING" => 0,
);
//вытаскивала время сервера
$site_format = CSite::GetDateFormat("SHORT");
$php_format = CDatabase::DateFormatToPHP($site_format);
$new_time = date($php_format, time());
// пыталась настроить таймер относительно времени сервера, работает, но отталкивается относительно абсолютного значения
$arResult["SECONDS_TO_END"] = 1200 - (time()-MakeTimeStamp($new_time));
$arResult["SECONDS_TO_END_STRING"] = _TimeToStringFormat($arResult["SECONDS_TO_END"]);
либо
// таймер работает, 10 минут, но при каждом обновлении страницы запускается сначала, как с этим бороться?
$arResult["SECONDS_TO_END"] = 600;
$arResult["SECONDS_TO_END_STRING"] = _TimeToStringFormat($arResult["SECONDS_TO_END"]);
|
может у кого есть предложения на тему?