Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2017, 09:15
Аспирант
Отправить личное сообщение для wegas Посмотреть профиль Найти все сообщения от wegas
 
Регистрация: 07.03.2017
Сообщений: 30

Обратный отсчет на сайте
Привет всем, начал изучать js, пока дикий лес для меня, есть задача сделать обратный отсчет на сайте:
1. чтобы он считал каждый день
2. чтобы он считал с 7 до 8 "выводил например: 1 акция, " 8 до 9 " выводил 2 акция
3. до конца акции осталось минут, секунд
Подскажите, в каком направлении думать хотя бы...

Последний раз редактировалось wegas, 07.03.2017 в 09:18.
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2017, 09:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

wegas,
форум - поиск - таймер
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2017, 10:54
Аспирант
Отправить личное сообщение для wegas Посмотреть профиль Найти все сообщения от wegas
 
Регистрация: 07.03.2017
Сообщений: 30

есть код, но работа его некорректна, работает почему то с 8 - 30 до 9 а должен до 10, а потом начинает считать с 9 30 и досчитывает до 10, не знаю как исправить
пожалуйста помогите!?
<html>
  <head>
    <title>Таймер обратного отсчёта</title>
    
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
<script src="jquery.js"></script>

 <script type="text/javascript">
$(document).ready(function(){
/*первый запуск функции*/
countdown();
 
 /*сама функцияи*/
 function countdown(){
/*текущая дата*/ 
var nowDate=new Date();
 
/*время до начала пары №1*/
var endAction1=new Date();
endAction1.setHours(8);  
endAction1.setMinutes(30);
endAction1.setSeconds(59);
 
/*время до окончания пары №1*/
var endAction2=new Date();
endAction2.setHours(9);  
endAction2.setMinutes(59);
endAction2.setSeconds(59);
 
/*время до начала пары №2*/
var endAction3=new Date();
endAction3.setHours(10);  
endAction3.setMinutes(15);
endAction3.setSeconds(59);
 
/*время до окончания пары №2*/
var endAction4=new Date();
endAction4.setHours(11);  
endAction4.setMinutes(45);
endAction4.setSeconds(59);
 
/*время до начала пары №3*/
var endAction5=new Date();
endAction5.setHours(11);  
endAction5.setMinutes(59);
endAction5.setSeconds(59);
 
/*время до окончания пары №3*/
var endAction6=new Date();
endAction6.setHours(13);  
endAction6.setMinutes(30);
endAction6.setSeconds(59);
 
/*Для того чтобы добавить события нужно прописать верхний скрипт, но изменить имя endAction"X"
И также добавить скрипты ниже!*/
 
 
/*Если занятий нету*/
if(14<=nowDate.getHours() && nowDate.getHours()<=23){
$('#actionname').text("Сейчас занятий нету");
$('#timer').hide()
}
/*если есть то показываем таймер */
else{
$('#timer').show();
}
 
/*Начало первой пары*/
if(8<=nowDate.getHours() &&  nowDate.getHours()<=8 && nowDate.getMinutes()<=30){
$('#actionname').text("До начала первой пары");
timertotal(endAction1);
}
 
/*Окончание первой пары*/
if(8<=nowDate.getHours() && 30<=nowDate.getMinutes() && nowDate.getHours()<=10){
$('#actionname').text("До окончания первой пары");
timertotal(endAction2);
}
 
/*Начало второй пары*/
if ((10<=nowDate.getHours() && nowDate.getHours()<=10 && nowDate.getMinutes()<=15)) 
{
    $('#actionname').text("До начала второй пары");
    timertotal(endAction3);
}
 
/*Окончание второй пары*/
if (10<=nowDate.getHours() && 15<=nowDate.getMinutes() &&  nowDate.getHours()<=11 && nowDate.getMinutes()<=45) 
{
    $('#actionname').text("До окончания второй пары");
    timertotal(endAction4);
}
 
/*Начало третьей пары*/
if (11<=nowDate.getHours() && 45<=nowDate.getMinutes() && nowDate.getHours()<=12) 
{
    $('#actionname').text("До начала третьей пары");
    timertotal(endAction5);
}
 
/*Окончание третьей пары*/
if((12<=nowDate.getHours() &&  nowDate.getHours()<=13 && nowDate.getMinutes()<=30) || nowDate.getHours()==0){
$('#actionname').text("До окончания третьей пары");
timertotal(endAction6);
}
 
 
 
function timertotal(endAction){
var h=endAction.getHours()-nowDate.getHours();
if(nowDate.getHours()>=21)
{
var h=24-nowDate.getHours();
}
 
var m=endAction.getMinutes()-nowDate.getMinutes();
var s=endAction.getSeconds()-nowDate.getSeconds();
if (m<10){m="0"+m}
if (s<10){s="0"+s}
$('#timetoEnd').text(h+":"+m+":"+s);
}
 
/*самозапуск функции каждую секунду*/
setTimeout(countdown,1000);
}    
 });/*end  ready*/
 </script>

 <style>
#actionname{
font-size:18px;
margin-bottom:5px;
color: darkgreen;
}
 </style>
 
  </head>
  
  <body style="padding-left:140px;">
 <div id="actionname"></div>
 <div id="timer">  ОСТАЛОСЬ: <span id="timetoEnd"></span></div><br/>
 
 
  </body>
</html>

Последний раз редактировалось wegas, 07.03.2017 в 14:55.
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2017, 11:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратный отсчет до даты с учетом часовых зон royksopp Flash 0 25.09.2013 18:25
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
обратный счетчик на сайте progns Элементы интерфейса 13 09.02.2012 00:05
jQuery Timer - обратный отсчет времени в 10 минут adax jQuery 1 01.11.2011 14:54
Многократный обратный отсчет sultan.khayrulin Общие вопросы Javascript 1 30.05.2010 22:41