6 392
edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 5: | Linha 5: | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>Busca de Imagens por Nome</title> | <title>Busca de Imagens por Nome</title> | ||
</head> | </head> | ||
<body> | <body> | ||
Linha 20: | Linha 19: | ||
<script> | <script> | ||
// Elementos do DOM | |||
const imageSearch = document.getElementById('imageSearch'); | const imageSearch = document.getElementById('imageSearch'); | ||
const dropdown = document.getElementById('dropdown'); | const dropdown = document.getElementById('dropdown'); | ||
const imageContainer = document.getElementById('imageContainer'); | const imageContainer = document.getElementById('imageContainer'); | ||
// Filtro de busca | |||
imageSearch.addEventListener('input', function() { | imageSearch.addEventListener('input', function() { | ||
const searchValue = this.value.trim().toLowerCase(); | const searchValue = this.value.trim().toLowerCase(); | ||
Linha 34: | Linha 36: | ||
const dropdownItem = document.createElement('div'); | const dropdownItem = document.createElement('div'); | ||
dropdownItem.classList.add('dropdown-item'); | dropdownItem.classList.add('dropdown-item'); | ||
dropdownItem.appendChild(document.createTextNode(imageName)); | dropdownItem.appendChild(document.createTextNode(imageName)); | ||
dropdownItem.addEventListener('click', function() { | dropdownItem.addEventListener('click', function() { | ||
showImageInfo(imageName); | showImageInfo(imageName); | ||
Linha 62: | Linha 58: | ||
}); | }); | ||
function showImageInfo(imageName) { | // Exibir informações da imagem | ||
function showImageInfo(imageName) { | |||
const imageInfo = imageList[imageName]; | |||
let imagesHtml = ` | |||
<div class="image-item"> | |||
<div>[[file:${imageInfo.imageUrl}|link]]</div> <!-- Formato MediaWiki --> | |||
</div> | </div> | ||
<div class="variations-container"> | |||
`; | |||
imageInfo.variations.forEach((variation, index) => { | |||
imagesHtml += ` | |||
<div class="variation-item"> | |||
<div>[[file:${variation.additionalImages[0].url}|link]]</div> <!-- Formato MediaWiki --> | |||
<button class="swap-button" data-variation-index="${index}">Trocar Imagem</button> | |||
<div class="image-info"> | |||
<div>[[file:${variation.descriptionIMG}|link]]</div> <!-- Formato MediaWiki --> | |||
<br>${variation.description}<br> | |||
<b>Como Obter</b>: <a href="${variation.obtain.url}" target="_blank">${variation.obtain.text}</a> | |||
</div> | |||
</div> | |||
`; | |||
}); | |||
imagesHtml += '</div>'; | |||
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 variationDiv = button.previousElementSibling; // Atualiza a imagem no formato MediaWiki | |||
variationDiv.innerHTML = `[[file:${variation.additionalImages[currentImageIndex].url}|link]]`; | |||
}); | |||
}); | |||
} | |||
</script> | </script> | ||
</body> | </body> | ||
</html> | </html> |