exampleElement.innerHTML = "string"
, и вместо exampleElement.appendChild(document.createElement('template'))
, чтобы было exampleElement.insertBefore(template, exampleChild);
, чтобы можно было, не писать кучу кода на js, а брать из какого-нибудь tempates.html, где на нужный элемент повешен нужный обработчик, который отработает после вставки в интернет-магазин.
Сейчас js обрабатывает событие наведения мыши на элемент. Чтобы получился эффект :hover, нужно обработать событие ухода мыши с элемента "mouseleave".
Подробно об этих событиях: здесь