Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в календарике выделить нужную дату

юля Знаток (297), на голосовании 1 год назад
Подскажите пожалуйста, что нужно написать в коде чтобы выделить нужную дату. На скрине показано как надо
Мой код:
,"Декабрь"];
if (DNfirst != 0) {
for(var i = 1; i < DNfirst; i++) calendar += '<td>';
}else{
for(var i = 0; i < 6; i++) calendar += '<td>';
}
for(var i = 1; i <= Dlast; i++) {
if (i == new Date().getDate() && D.getFullYear() == new Date().getFullYear() && D.getMonth() == new Date().getMonth()) {
calendar += '<td class="today">' + i;
}else{
calendar += '<td>' + i;
}
if (new Date(D.getFullYear(),D.getMonth(),i).getDay() == 0) {
calendar += '<tr>';
}
}
for(var i = DNlast; i < 7; i++) calendar += '<td>&nbsp;';
document.querySelector('#'+id+' tbody').innerHTML = calendar;
document.querySelector('#'+id+' thead td:nth-child(2)').innerHTML = month[D.getMonth()] +' '+ D.getFullYear();
document.querySelector('#'+id+' thead td:nth-child(2)').dataset.month = D.getMonth();
document.querySelector('#'+id+' thead td:nth-child(2)').dataset.year = D.getFullYear();
if (document.querySelectorAll('#'+id+' tbody tr').length < 6) { // чтобы при перелистывании месяцев не "подпрыгивала" вся страница, добавляется ряд пустых клеток. Итог: всегда 6 строк для цифр
document.querySelector('#'+id+' tbody').innerHTML += '<tr><td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;';
}
}
Calendar2("calendar2", new Date().getFullYear(), new Date().getMonth());
// переключатель минус месяц
document.querySelector('#calendar2 thead tr:nth-child(1) td:nth-child(1)').onclick = function() {
Calendar2("calendar2", document.querySelector('#calendar2 thead td:nth-child(2)').dataset.year, parseFloat(document.querySelector('#calendar2 thead td:nth-child(2)').dataset.month)-1);
}
// переключатель плюс месяц
document.querySelector('#calendar2 thead tr:nth-child(1) td:nth-child(3)').onclick = function() {
Calendar2("calendar2", document.querySelector('#calendar2 thead td:nth-child(2)').dataset.year, parseFloat(document.querySelector('#calendar2 thead td:nth-child(2)').dataset.month)+1);
}
</script>
Голосование за лучший ответ
Яков Гото Искусственный Интеллект (321142) 1 год назад
В этом коде черт ногу сломит. Пройдись циклом forEach по элемента td таблицы (если это таблица), просто найди совпадающий элемент через if (e.innerText === 5) и добавь ему нужный заранее прописанный класс или вручную пропиши стили.
BabadukПросветленный (21048) 1 год назад
Можно поинтересоваться чем собственно так отличается от тождественно ровно? ну есть две переменные x1=0; x2=2; if(x1==x2)---------if(x1===x2) в чем разница?
Babaduk, тут никакой разницы не будет, везде выйдет не равно. А вот с x1='2'; x2=2; уже интересней
BabadukПросветленный (21048) 1 год назад
запутался немного надо осмыслить перекурю
Саня Семенов Оракул (60497) 1 год назад
так лень перепечатывать со скрина и букв там много и разметки нету и ошибок много и код не работает кароче выложи рабочий вариант на https://codepen.io тогда посмотрим а так лень.
https://codepen.io/sergejkravchen2/pen/abVqxGv вот так примерно делается
Похожие вопросы