Вход

Просмотр полной версии : Появление сообщения после окончания акции


kos0760
04.06.2015, 22:33
Здравствуйте! Помогите, если кто знает.

Есть акция со счетчиком обратного отсчета (скрипт счетчика взят со стороннего сайта). Под ним форма заказа обратного звонка. Код счетчика и формы находится в каком-то диве.

Как сделать так, чтобы когда на счетчике устанавливаются нули, весь этот див менялся на другой див с сообщением, к примеру "Акция завершена!". Т.е нужно этим сообщением скрыть и счетчик и форму.

Да и еще, если для конкретного пользователя закончилась акция, то при каждом след. посещении сайта он видел "Акция завершена!"

Спасибо!

Leon-on12
04.06.2015, 23:30
Ты бы написал бы часть кода. А тож совсем непонятно что и как.
Ну ладно.

<div id="akciay">
<div id="aktivna"></div>
<div id='zakonchena'>Акция закончена</div>
</div>


#akciay{
width: 100px;
height: 100px;
}
#zakonchena{
display: none;
}
#aktivna{
display: block;
}


function checkAkciya(){
if (schetchik == 0){
document.getElementById('aktivna').style.display = 'none';
document.getElementById('zakonchena').style.displa y = 'block';
}
}

kos0760
05.06.2015, 00:04
Прошу прощения! Действительно не очень понятно для других.

Код счетчика я формировал на сайте megatimer.ru
В результате чего получил скрипт:
<script src="http://megatimer.ru/s/f7ba7428062d9563bf6c7aeaea28b7b6.js"></script>

Есть один див:
<div id="begin">
<script src="http://megatimer.ru/s/f7ba7428062d9563bf6c7aeaea28b7b6.js"></script>
<!--Ниже сама форма-->
<form action="new_zacaz.php" method="post">
бла-бла-бла
</form>
</div>

Второй див:
<div id="end">
<span class="">Акция завершена!</span>
</div>

В скрипте настроено время, допустим 3 часа до конца акции с момента первого посещения пользователем сайта. После этого скрипт показывает нули. Вот я и хочу, чтобы этих нулей при след. посещении сайта тем же пользователем (к примеру на след день), перед его глазами не было, т.е. скрыть счетчик и форму и вместо нее через три часа подсунуть див с надписью "Акция завершена!". Вот как-то так.

Sigizmund2012
05.06.2015, 08:26
kos0760,
Этот мегатаймер похоже не генерирует события по окончании отсчёта, документации по нему нет. Поэтому для ваших нужд он не подходит, вам нужен таймер генерирующий событие, чтобы можно было на него обработчик повесить. В обработчике можно и пользователю в cookies прописать(как вариант), что акция закончилась.

kos0760
05.06.2015, 11:29
kos0760,
Этот мегатаймер похоже не генерирует события по окончании отсчёта, документации по нему нет.

Спасибо за подсказку, но я в курсе, что он только отсчитывает время и больше ничего. Вы не обращайте на него вообще внимания. Попробую еще раз объяснить, что мне нужно. Мне нужна смена блоков спустя некоторое время, т.е. блок содержащий счетчик должен смениться блоком с надписью "Акция завершена!".

Это аналогично смене изображений в слайдшоу. Только здесь вместо картинок - дивы.

Меня почти понял Leon-on12. Он написал скрипт, но без учета времени. Т.е., если брать в пример код, что я привел выше, сначала диву "begin" должно быть присвоено значение display:block, а диву "end" display:none. Затем, допустим, через 5 мин наоборот, див "begin" должен иметь значение display:none, а див "end" display:block.

kos0760
05.06.2015, 13:51
Похоже я не правильно объясняю. Ну да ладно. Спрошу по-другому.

Вот простой код:

<div id="akciya">
<div id="begin">
Начало акции.
</div>
<div id="end">
Акция завершена!
</div>
</div>

Можно ли сделать и как, чтобы один раз через 10 сек фраза "Начало акции" сменялась на "Акция завершена!".

kos0760
05.06.2015, 15:44
kos0760,

<div id="akciya">
<div id="begin">
Начало акции.
</div>
<div id="end" style="display:none;">
Акция завершена!
</div>
</div>
<script>
setTimeout(function(){begin.style.display='none',e nd.style.display='block'},10000);
</script>


Скажите как сделать, чтобы при обновлении страницы браузера фраза "Акция завершена" не менялась обратно на "Начало акции".