Показать сообщение отдельно
  #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.
Ответить с цитированием