Javascript.RU

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

Переключение месяцев в календаре
Сделал календарь. Но показывает только текущий месяц. Подскажите как написать функцию которая при нажатии на кнопки NEXT и PREV будет переходить к следующему и предыдущему месяцу?

<div class="container">
    <button>Prev</button><button>Next</button> <br>
        <div id="calendar"></div>
    </div>


var button = document.getElementsByTagName('button');
var all_td = 0;
var now = new Date();
var month = new Date().getMonth();
var today = now.getDate();
 
 
//Пустые ячейки в начале месяца
now.setDate(1);
var blank = (now.getDay()==0)?6:now.getDay() - 1;
var text = "<table><tr>";
for(var i=0; i<blank; i++)
    text+="<td>&nbsp;</td>";
all_td = blank;
 
//Дни в месяце 
now.setMonth(now.getMonth() + 1) 
now.setDate(0);
var days = now.getDate(); 
for(var k=1; k<=days; k++){
    text+="<td>"+k+"</td>";
    all_td++;
    if(all_td%7==0){text+="</tr><tr>";}
}
//Пустые ячейки в конце
var last = now.getDay();
var last_blank = (last==0)?0:7-last;
for(var k=1; k<=last_blank; k++){
    text+="<td>&nbsp;</td>";
}
 
text +="</tr></table>";
document.getElementById('calendar').innerHTML = text;
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2016, 18:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

miusov,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  td{
    border: 1px solid #0000FF;
  }

  </style>
</head>

<body>
<div class="container">
    <button>Prev</button><button>Next</button> <br>
        <div id="calendar"></div>
    </div>
<script>
 var button = document.getElementsByTagName('button');
var all_td = 0;
var now = new Date();
var month = new Date().getMonth();
var today = now.getDate();
function create(num)
{
month += (num || 0)
now = new Date();
now.setMonth(month)


//Пустые ячейки в начале месяца
now.setDate(1);
var blank = (now.getDay()==0)?6:now.getDay() - 1;
var text = "<table><tr>";
for(var i=0; i<blank; i++)
    text+="<td>&nbsp;</td>";
all_td = blank;

//Дни в месяце
now.setMonth(now.getMonth() + 1)
now.setDate(0);
var days = now.getDate();
for(var k=1; k<=days; k++){
    text+="<td>"+k+"</td>";
    all_td++;
    if(all_td%7==0){text+="</tr><tr>";}
}
//Пустые ячейки в конце
var last = now.getDay();
var last_blank = (last==0)?0:7-last;
for(var k=1; k<=last_blank; k++){
    text+="<td>&nbsp;</td>";
}

text +="</tr></table>";
document.getElementById('calendar').innerHTML = text;
}
create()
var item = document.querySelectorAll('button');
        item[0].addEventListener('click', function() {
           create(-1)
        });
        item[1].addEventListener('click', function() {
           create(1)
        });
</script>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2016, 10:05
Новичок на форуме
Отправить личное сообщение для miusov Посмотреть профиль Найти все сообщения от miusov
 
Регистрация: 27.07.2016
Сообщений: 8

Спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переключение url из списка предыдущая, следующая страница polepropilen Элементы интерфейса 12 05.04.2014 11:36
Русские имена месяцев, недель, дней в календаре Resmedia Элементы интерфейса 5 25.05.2013 22:18
помогите разобраться в календаре Dracula_666 Сайт Javascript.ru 8 17.11.2012 01:24
переключение стилей интервалом 5 секунд progns Общие вопросы Javascript 3 25.10.2011 15:47
Переключение таблиц стилей в js t1gor Общие вопросы Javascript 15 17.07.2011 09:50