У меня есть поле, которое может изменить цвет, когда вы выбираете поле, а затем выбираете цвет. Я использовал html2canvas и jquery в качестве библиотек, поэтому я могу загрузить поле «Настройка изменения цвета» в качестве изображения, но его можно загрузить локально, если изображение скрыто - как показано на CSS. -Или-Есть ли альтернативный способ сохранить фоновое изображение и SVG локально с кнопкой загрузки?
У меня есть поле, которое может изменить цвет, когда вы выбираете поле, а затем выбираете цвет. Я использовал html2canvas и jquery в качестве библиотек, поэтому я могу загрузить поле «Настройка изменения цвета» в качестве изображения, но его можно загрузить локально, если изображение скрыто - как показано на CSS. -Или-Есть ли альтернативный способ сохранить фоновое изображение и SVG локально с кнопкой загрузки?[code]//////// carousel ////////
let sliderImages = document.querySelectorAll('.slide'), arrowLeft = document.querySelector('#arrow-left'), arrowRight = document.querySelector('#arrow-right'), current = 0;
//Clear all images function reset() { for (let i = 0; i < sliderImages.length; i++) { sliderImages[i].style.display = 'none'; } } // initialize slider function startSlide() { reset(); sliderImages[0].style.display = "block"; }
function chooseProduct(e) { overlays.push(e.target); overlays.forEach((overlay) => overlay.classList.add('highlight')); }
//////// remove highlight when clicking outside of image //////// var removeHighlight = function(e) { var products = document.querySelectorAll('.product');
//////// remove highlight of a specific shape //////// function chooseProduct(e) { for (let i = 0; i < overlays.length; i += 1) { let currentOverlay = overlays[i]; if (currentOverlay.isSameNode(e.target)) { overlays.splice(i, 1); e.target.classList.remove('highlight') return; } } overlays.push(e.target); overlays.forEach((overlay) => overlay.classList.add("highlight")); }
//////// get and set colours ////////
// Click on a color var el = document.getElementsByClassName("color"); for (var i = 0; i < el.length; i++) { el[i].onclick = changeColor; }
function changeColor(e) { // get the hex color let hex = e.target.getAttribute("data-hex"); // set the hex color overlays.forEach((overlay) => overlay.style.fill = hex); }
$(document).ready(function() { function saveScreenshot(canvas) { var downloadLink = document.createElement('a'); downloadLink.download = 'download.jpg'; canvas.toBlob(function(blob) { downloadLink.href = URL.createObjectURL(blob) downloadLink.click(); }); }
$(".download-btn").on("click", function(e) { e.preventDefault(); html2canvas(document.querySelector(".download-container"), { scrollX: 0, scrollY: 0 }).then(function(canvas) { var image = canvas.toDataURL('image/jpeg'); document.getElementById("created-element").src = image; $(this).attr('href', image); saveScreenshot(canvas); }); }); });< /code> .grid-container { display: grid; grid-template-columns: auto 5% 1fr auto 1fr; grid-template-rows: 128px auto 1fr auto auto auto auto 100px; gap: 0px 0px; grid-auto-flow: row; grid-template-areas: "header . . . ." "main main main color-select color-select" "main main main color-select color-select" "about about about about about" "howto howto howto howto howto" "faqs faqs faqs faqs faqs" "social social social social social" "footer footer footer footer footer"; }