Как сделать «Добавить в избранное» на js?

function initFavs()
	{
		// Handle Favorites
		var items = document.getElementsByClassName('product_fav');
		for(var x = 0; x < items.length; x++)
		{
			var item = items[x];
			item.addEventListener('click', function(fn)
			{
				fn.target.classList.toggle('active');
			});
		}
	}


Есть такой код для иконки сердца. При нажатии на нее должна заливка меняться. Но у меня не получается сделать :(

У кого есть скрипт реализации на js кнопки сердечка? Сердечек на одной странице много и все они серые, пока человек не нажмет на одно из, тогда оно меняет цвет и никак не должно конфликтовать с др. сердечками.

большое спасибо. уже всю голову сломала. мне нужно без php. просто чтобы js отработал. при нажатии один раз - красное, при нажатии второй раз - снова серое.

Благодарю
  • Вопрос задан
  • 2250 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Саму функцию initFavs() надеюсь вызываете? =)

внутри .product_fav есть еще элементы? Если есть, то в fn.target будет именно тот по которому непосредственно кликнули.

попробуйте поменять строку

fn.target.closest('.product_fav').classList.toggle('active');


В остальном код выглядит рабочим.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы