Widget:Test: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição Etiqueta: Revertido |
Sem resumo de edição |
||
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
Linha 19: | Linha 19: | ||
</form> | </form> | ||
<script | <script> | ||
const imageSearch = document.getElementById('imageSearch'); | const imageSearch = document.getElementById('imageSearch'); | ||
Linha 64: | Linha 64: | ||
function showImageInfo(imageName) { | function showImageInfo(imageName) { | ||
const imageInfo = imageList[imageName]; | const imageInfo = imageList[imageName]; | ||
let imagesHtml = | let imagesHtml = ` | ||
<div class="image-item"> | <div class="image-item"> | ||
<img src="${imageInfo.imageUrl}" alt="${imageName}"> | <img src="${imageInfo.imageUrl}" alt="${imageName}"> | ||
</div> | </div> | ||
<div class="variations-container"> | <div class="variations-container"> | ||
; | `; | ||
imageInfo.variations.forEach((variation, index) => { | imageInfo.variations.forEach((variation, index) => { | ||
imagesHtml += | imagesHtml += ` | ||
<div class="variation-item"> | <div class="variation-item"> | ||
<img src="${variation.additionalImages[0].url}" alt="Variation Image" class="variation-image" data-variation-index="${index}" style="width: ${variation.additionalImages[0].width}px;"> | <img src="${variation.additionalImages[0].url}" alt="Variation Image" class="variation-image" data-variation-index="${index}" style="width: ${variation.additionalImages[0].width}px;"> | ||
Linha 82: | Linha 82: | ||
</div> | </div> | ||
</div> | </div> | ||
; | `; | ||
}); | }); | ||
imagesHtml += | imagesHtml += `</div>`; | ||
imageContainer.innerHTML = imagesHtml; | imageContainer.innerHTML = imagesHtml; | ||
Linha 102: | Linha 102: | ||
const variationImage = button.previousElementSibling; // Atualiza a imagem da variação | const variationImage = button.previousElementSibling; // Atualiza a imagem da variação | ||
variationImage.src = variation.additionalImages[currentImageIndex].url; | variationImage.src = variation.additionalImages[currentImageIndex].url; | ||
variationImage.style.width = ${variation.additionalImages[currentImageIndex].width}px; | variationImage.style.width = `${variation.additionalImages[currentImageIndex].width}px`; | ||
}); | }); | ||
}); | }); |
Edição atual tal como às 19h22min de 22 de dezembro de 2024
<!DOCTYPE html> <html lang="pt-BR"> <head>
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Busca de Imagens por Nome</title>
</head> <body>
<form id="imageForm">
<input type="text" id="imageSearch" placeholder="Digite o nome da imagem" autocomplete="off">
</form>
<script>
const imageSearch = document.getElementById('imageSearch'); const dropdown = document.getElementById('dropdown'); const imageContainer = document.getElementById('imageContainer');
imageSearch.addEventListener('input', function() { const searchValue = this.value.trim().toLowerCase(); dropdown.innerHTML = ;
if (searchValue) { Object.keys(imageList).forEach(imageName => { if (imageName.toLowerCase().includes(searchValue)) { const dropdownItem = document.createElement('div'); dropdownItem.classList.add('dropdown-item'); const imgElement = document.createElement('img'); imgElement.src = imageList[imageName].imageUrl; imgElement.alt = imageName; dropdownItem.appendChild(imgElement); dropdownItem.appendChild(document.createTextNode(imageName)); dropdownItem.addEventListener('click', function() { showImageInfo(imageName); dropdown.style.display = 'none'; }); dropdown.appendChild(dropdownItem); } });
dropdown.style.display = dropdown.childNodes.length ? 'block' : 'none'; } else { dropdown.style.display = 'none'; } });
document.addEventListener('click', function(event) { if (!imageSearch.contains(event.target) && !dropdown.contains(event.target)) { dropdown.style.display = 'none'; } });
function showImageInfo(imageName) {
const imageInfo = imageList[imageName]; let imagesHtml = `
<img src="${imageInfo.imageUrl}" alt="${imageName}">
`;
imageInfo.variations.forEach((variation, index) => { imagesHtml += `
<img src="${variation.additionalImages[0].url}" alt="Variation Image" class="variation-image" data-variation-index="${index}" style="width: ${variation.additionalImages[0].width}px;">
<img src="${variation.descriptionIMG}" alt="Description Image" style="margin-right: 5px; display: inline-block;">
${variation.description}
Como Obter: <a href="${variation.obtain.url}" target="_blank">${variation.obtain.text}</a>
`; });imagesHtml += `
`;
imageContainer.innerHTML = imagesHtml; imageContainer.classList.remove('hidden');
// Alternar imagens ao clicar no botão de troca const swapButtons = document.querySelectorAll('.swap-button');
swapButtons.forEach(button => { const index = button.getAttribute('data-variation-index'); const variation = imageInfo.variations[index]; let currentImageIndex = 0;
button.addEventListener('click', () => { currentImageIndex = (currentImageIndex + 1) % variation.additionalImages.length; const variationImage = button.previousElementSibling; // Atualiza a imagem da variação variationImage.src = variation.additionalImages[currentImageIndex].url; variationImage.style.width = `${variation.additionalImages[currentImageIndex].width}px`; }); });
}
</script>
</body> </html>