Показать сообщение отдельно
  #6 (permalink)  
Старый 08.12.2024, 20:47
Новичок на форуме
Отправить личное сообщение для Beer75 Посмотреть профиль Найти все сообщения от Beer75
 
Регистрация: 05.06.2013
Сообщений: 8

Ок. Код. =о)

calendar.html
...
<div id="myCalendar_div"></div>
...
<script>
function onLoad(){
myCalendar=new myCalendar();
myCalendar.renderCalendar('myCcalendar_div');
}
</script>

myCalendar.js

class MyCalendar{
outputDiv=null;

constructor(){
// вычисляем текущую дату, необходимые параметры

}

renderCalendar(oDiv){

this.outputDiv=document.querySelector("#"+oDiv);
// вывод сетки календаря
...
// вывод двух ссылок, на следующий месяц и предыдущий
this.outputDiv.innerHTML=this.outputDiv.innerHTML+ '<span id="prevMonth">пред</span><span id="nextMonth">след</span>';
}

nextMonth(){
// вычисляем необходимые параметры
this.renderCalendar();

}

prevMonth(){
// вычисляем необходимые параметры
this.renderCalendar();

}


}

Вопрос: можно ли внутри функции renderCalendar повесить на span обработчики с вызовом nextMonth() и prevMonth()?

Если ставить this.nextMonth(), то ошибка, естественно. А название переменной myCalendar, определяемой в onLoad() недоступно внутри класса.

Или я что-то не так делаю в принципе?
Ответить с цитированием