From 3f039d4eeff06f95b1422904db91e90dd2e5e4a0 Mon Sep 17 00:00:00 2001 From: kosipov Date: Thu, 6 Nov 2025 22:40:56 +0300 Subject: [PATCH] fix with remove setTimeout --- app.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/app.js b/app.js index db6c317..fc3af67 100644 --- a/app.js +++ b/app.js @@ -15,6 +15,7 @@ const HabitTrackerApp = { init: function() { this.loadElements(); this.render(); + this.loadDynamicElements(); this.setupEventListeners(); }, @@ -23,13 +24,7 @@ const HabitTrackerApp = { //this.elements.addHabitForm.style.display = 'block'; }); - // 2 вариант - const timerId = setInterval(() => { - if (this.elements.habbitDoneButtons.length == 0) { - return; - } - - this.elements.habbitDoneButtons.forEach( + this.elements.habbitDoneButtons.forEach( button => { return button.addEventListener('click', (event) => { const cardId = event.target.closest('.habit-card').dataset.habitId; @@ -40,9 +35,6 @@ const HabitTrackerApp = { }); } ); - }, 1000); - - setTimeout(() => clearInterval(timerId), 3000); // пройти циклом по habbitDoneButtons. На каждый элемент массива // добавить addEventListener по клику. @@ -59,6 +51,10 @@ const HabitTrackerApp = { }, + loadDynamicElements: function() { + this.elements.habbitDoneButtons = document.querySelectorAll('.button--primary'); + }, + render: function() { const habitsHTML = HabitManager.habits.map(habit => { const cardClass = `habit-card ${habit.isCompleted ? 'habit-card--completed' : ''}`;