Widget:Test: mudanças entre as edições

De PokeXGames
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(229 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<script>
<!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>
    <style>
        .input-group { margin-bottom: 1em; position: relative; }
        .dropdown {
            border: 1px solid #ccc;
            display: none;
            position: absolute;
            background-color: #fff;
            z-index: 1000;
            max-height: 150px;
            overflow-y: auto;
            width: 100%;
        }
        .dropdown-item {
            padding: 8px;
            cursor: pointer;
            display: flex;
            align-items: center;
        }
        .dropdown-item img {
            margin-right: 10px;
        }
        .dropdown-item:hover {
            background-color: #f0f0f0;
        }
        .image-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .image-item {
            margin-bottom: 1em;
            text-align: center;
        }
        .image-item img {
            display: block;
            margin: 0 auto;
        }


const optionsImageTestz = [
        .variations-container {
    {
            display: flex;
        label: "{|class="wikitable"
            flex-wrap: wrap;
! Nota !! Atalho
            justify-content: center;
|-
            margin-top: 1em;
| A || !flute A
        }
|-
 
| B || !flute B
        .variation-item {
|-
            width: 35%;
| C || !flute C
            box-sizing: border-box;
|-
            margin: 5px;
| D || !flute D
            text-align: center;
|-
            border: 1px solid ;
| E || !flute E
            padding: 10px;
|-
        }
| F || !flute F
 
|-
        .variation-item img {
| G || !flute G
            display: block;
|-
            margin: 0 auto 10px;
| A# || !flute A#
        }
|-
 
| C# || !flute C#
        .swap-button {
|-
            margin-top: 10px;
| D# || !flute D#
            cursor: pointer;
|-
            width: 15px;
| F# || !flute F#
            height: 15px;
|-
            background: url('https://wiki.pokexgames.com/images/f/fb/SwapButtonAddons.png') no-repeat center;
| G# || !flute G#
            background-size: contain;
|}",
            display: block;
        obs: "<center><b>Unown A</b></center>"
            margin: 0 auto;
    },
         }
    {
    </style>
        label: "O ódio é um fardo muito grande para suportar (BEAR). Quem eu sou?",
</head>
        image: "/images/7/74/Unown-b.png",
<body>
         obs: "<center><b>Unown B</b></center>"
     <form id="imageForm">
     },
         <div class="input-group">
    {
            <input type="text" id="imageSearch" placeholder="Digite o nome da imagem" autocomplete="off">
        label: "Se você persegue (CHASE) algo desesperadamente, isso te ilude. Quem eu sou?",
            <div id="dropdown" class="dropdown"></div>
         image: "/images/6/66/Unown-c.png",
        </div>
        obs: "<center><b>Unown C</b></center>"
 
    },
         <div id="imageContainer" class="image-container hidden">
    {
            <!-- As imagens e suas informações serão exibidas aqui -->
         label: "Você não pode controlar a direção (DIRECT) do vento, mas pode ajustar as velas. Quem eu sou?",
        </div>
        image: "/images/2/23/Unown-d.png",
    </form>
        obs: "<center><b>Unown D</b></center>"
 
     },
     <script>
    {
        const imageList = {
        label: "A preparação é necessária antes de participar (ENGAGE) de qualquer reunião. Quem eu sou?",
            'Squirtle': {
        image: "/images/4/42/Unown-e.png",
                imageUrl: 'https://wiki.pokexgames.com/images/7/7a/007-Squirtle.png',  
        obs: "<center><b>Unown E</b></center>"
                variations: [
    },
                    {  
    {
                        description: 'Squirtle Purple Ninja Pack',
        label: "É possível encontrar (FIND) esperança mesmo nos dias mais sombrios. Quem eu sou?",
                        descriptionIMG: 'https://wiki.pokexgames.com/images/c/c1/Purple_Stripe.png',
        image: "/images/7/70/Unown-f.png",
                        obtain: {
        obs: "<center><b>Unown F</b></center>"
                            url: 'https://wiki.pokexgames.com/index.php/Craft_Profissões_-_Estilista#Rank_E',
    },
                            text: 'Estilista'
    {
                        },
        label: "Um amigo é um presente (GIFT) que você se dá. Quem eu sou?",
                        additionalImages: [
        image: "/images/2/21/Unown-g.png",
                            { url: 'https://wiki.pokexgames.com/images/d/dd/Squirtle_Purple_Ninja_Pack_Frente.png'}, // Frente
        obs: "<center><b>Unown G</b></center>"
                            { url: 'https://wiki.pokexgames.com/images/5/50/Squirtle_Purple_Ninja_Pack_Esquerda.png'}, // Lado Esquerdo
    },
                            { url: 'https://wiki.pokexgames.com/images/a/af/Squirtle_Purple_Ninja_Pack_Direita.png'}, // Costas
    {
                            { url: 'https://wiki.pokexgames.com/images/5/5d/Squirtle_Purple_Ninja_Pack_Costas.png'}  // Lado Direito
        label: "Nós não podemos ajudar todo mundo, mas todo mundo pode ajudar (HELP) alguém. Quem eu sou?",
                        ]
        image: "/images/1/19/Unown-h.png",
                    },
        obs: "<center><b>Unown H</b></center>"
                    {
    },
                        description: 'Squirtle Red Ninja Pack',
    {
                        descriptionIMG: 'https://wiki.pokexgames.com/images/c/c1/Purple_Stripe.png',
        label: "O medo pode aumentar (INCREASE) sua capacidade de sobreviver. Quem eu sou?",
                        obtain: {
        image: "/images/f/f4/Unown-i.png",
                            url: 'https://wiki.pokexgames.com/index.php/Craft_Profissões_-_Estilista#Rank_E',
        obs: "<center><b>Unown I</b></center>"
                            text: 'Estilista'
    },
                        },
    {
                        additionalImages: [
        label: "Somente quando juntar (JOIN) todos os pedaços é que você poderá ver a foto. Quem eu sou?",
                            { url: 'https://wiki.pokexgames.com/images/1/13/Squirtle_Red_Ninja_Pack_Frente.png'}, // Frente
        image: "/images/0/02/Unown-j.png",
                            { url: 'https://wiki.pokexgames.com/images/1/1e/Squirtle_Red_Ninja_Pack_Esquerda.png'}, // Lado Esquerdo
        obs: "<center><b>Unown J</b></center>"
                            { url: 'https://wiki.pokexgames.com/images/0/01/Squirtle_Red_Ninja_Pack_Costas.png'}, // Costas
    },
                            { url: 'https://wiki.pokexgames.com/images/f/fd/Squirtle_Red_Ninja_Pack_Direita.png'}  // Lado Direito
    {
                        ]
        label: "Se você continuar (KEEP) seguindo em frente, você não terá que parar. Quem eu sou?",
                    }
        image: "/images/9/9d/Unown-k.png",
                ]
        obs: "<center><b>Unown K</b></center>"
            },
    },
        };
    {
 
        label: "Você ri de mim porque eu sou diferente, eu rio (LAUGH) de vocês porque são todos iguais. Quem eu sou?",
        const imageSearch = document.getElementById('imageSearch');
        image: "/images/9/9c/Unown-l.png",
         const dropdown = document.getElementById('dropdown');
        obs: "<center><b>Unown L</b></center>"
        const imageContainer = document.getElementById('imageContainer');
    },
 
    {
         imageSearch.addEventListener('input', function() {
        label: "Decida-se (MAKE), talvez você não tenha outra chance. Quem eu sou?",
            const searchValue = this.value.trim().toLowerCase();
        image: "/images/9/94/Unown-m.png",
            dropdown.innerHTML = '';
        obs: "<center><b>Unown M</b></center>"
 
    },
            if (searchValue) {
    {
                Object.keys(imageList).forEach(imageName => {
        label: "Você deveria encostar (NUZZLE) em algum lugar. Quem eu sou?",
                    if (imageName.toLowerCase().includes(searchValue)) {
        image: "/images/4/4e/Unown-n.png",
                        const dropdownItem = document.createElement('div');
        obs: "<center><b>Unown N</b></center>"
                        dropdownItem.classList.add('dropdown-item');
    },
                       
    {
                        const imgElement = document.createElement('img');
        label: "Você pode observar (OBSERVE) muito apenas assistindo. Quem eu sou?",
                        imgElement.src = imageList[imageName].imageUrl;
        image: "/images/2/21/Unown-o.png",
                        imgElement.alt = imageName;
        obs: "<center><b>Unown O</b></center>"
                       
    },
                        dropdownItem.appendChild(imgElement);
    {
                        dropdownItem.appendChild(document.createTextNode(imageName));
        label: "A vida é a farsa que todos devem executar (PERFORM). Quem eu sou?",
                       
        image: "/images/a/a8/Unown-p.png",
                        dropdownItem.addEventListener('click', function() {
        obs: "<center><b>Unown P</b></center>"
                            showImageInfo(imageName);
    },
                            dropdown.style.display = 'none';
    {
                        });
        label: "Há momentos especiais que aceleram (QUICKEN) seu coração. Quem eu sou?",
                        dropdown.appendChild(dropdownItem);
        image: "/images/a/ae/Unown-q.png",
                    }
        obs: "<center><b>Unown Q</b></center>"
                });
    },
 
    {
                dropdown.style.display = dropdown.childNodes.length ? 'block' : 'none';
         label: "Você não precisa de algo para reassegurar (REASSURE) que você é real. Quem eu sou?",
            } else {
         image: "/images/4/4f/Unown-r.png",
                dropdown.style.display = 'none';
        obs: "<center><b>Unown R</b></center>"
            }
    },
         });
    {
 
        label: "Humanos estão sempre em busca (SEARCH) de significados. Quem eu sou?",
        document.addEventListener('click', function(event) {
        image: "/images/f/fe/Unown-s.png",
            if (!imageSearch.contains(event.target) && !dropdown.contains(event.target)) {
        obs: "<center><b>Unown S</b></center>"
                dropdown.style.display = 'none';
    },
            }
    {
        });
        label: "Se você disser (TELL) a verdade, não precisa se lembrar de nada. Quem eu sou?",
 
        image: "/images/1/12/Unown-t.png",
function showImageInfo(imageName) {
         obs: "<center><b>Unown T</b></center>"
    const imageInfo = imageList[imageName];
    },
    let imagesHtml = `
    {
         <div class="image-item">
        label: "Você não pode desfazer (UNDO) o passado... mas certamente pode não repeti-lo. Quem eu sou?",
            <img src="${imageInfo.imageUrl}" alt="${imageName}">
         image: "/images/1/1a/Unown-u.png",
         </div>
         obs: "<center><b>Unown U</b></center>"
        <div class="variations-container">
     },
     `;
     {
 
         label: "Quando você sabe o que está fazendo, quaisquer obstáculos desaparecem (VANISH) do seu caminho. Quem eu sou?",
     imageInfo.variations.forEach((variation, index) => {
        image: "/images/1/15/Unown-v.png",
         imagesHtml += `
        obs: "<center><b>Unown V</b></center>"
            <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;">
    {
                <div class="swap-button" data-variation-index="${index}"></div><br>
        label: "Para ter sucesso, você deve sempre saber o que quer (WANT). Quem eu sou?",
                <div class="image-info">
        image: "/images/a/ad/Unown-w.png",
                    <img src="${variation.descriptionIMG}" alt="Description Image" style="margin-right: 5px; display: inline-block;"> <!-- Exibe a imagem antes da descrição -->
        obs: "<center><b>Unown W</b></center>"
                    <br> ${variation.description} <br> <!-- Descrição após a imagem -->
    },
                    <b>Como Obter</b>: <a href="${variation.obtain.url}" target="_blank">${variation.obtain.text}</a>
    {
                </div>
        label: "XXXXX. Quem eu sou?",
            </div>
        image: "/images/5/58/Unown-x.png",
        `;
        obs: "<center><b>Unown X</b></center>"
     });
     },
 
     {
    imagesHtml += '</div>';
        label: "Às vezes, o melhor que você pode fazer é ceder (YIELD) à tentação. Quem eu sou?",
 
        image: "/images/f/f9/Unown-y.png",
     imageContainer.innerHTML = imagesHtml;
        obs: "<center><b>Unown Y</b></center>"
    imageContainer.classList.remove('hidden');
     },
 
     {
    // Alternar imagens ao clicar no botão de troca
         label: "Mantenha-se focado e amplie (ZOOM) suas metas. Quem eu sou?",
     const swapButtons = document.querySelectorAll('.swap-button');
        image: "/images/8/81/Unown-z.png",
 
         obs: "<center><b>Unown Z</b></center>"
     swapButtons.forEach(button => {
    }
         const index = button.getAttribute('data-variation-index');
]
        const variation = imageInfo.variations[index];
</script>
        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>

Edição atual tal como às 23h45min de 16 de outubro 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>
   <style>
       .input-group { margin-bottom: 1em; position: relative; }
       .dropdown {
           border: 1px solid #ccc;
           display: none;
           position: absolute;
           background-color: #fff;
           z-index: 1000;
           max-height: 150px;
           overflow-y: auto;
           width: 100%;
       }
       .dropdown-item {
           padding: 8px;
           cursor: pointer;
           display: flex;
           align-items: center;
       }
       .dropdown-item img {
           margin-right: 10px;
       }
       .dropdown-item:hover {
           background-color: #f0f0f0;
       }
       .image-container {
           display: flex;
           flex-direction: column;
           align-items: center;
           justify-content: center;
       }
       .image-item { 
           margin-bottom: 1em; 
           text-align: center;
       }
       .image-item img {
           display: block;
           margin: 0 auto;
       }
       .variations-container {
           display: flex;
           flex-wrap: wrap;
           justify-content: center;
           margin-top: 1em;
       }
       .variation-item {
           width: 35%;
           box-sizing: border-box;
           margin: 5px;
           text-align: center;
           border: 1px solid ;
           padding: 10px;
       }
       .variation-item img {
           display: block;
           margin: 0 auto 10px;
       }
       .swap-button { 
           margin-top: 10px;
           cursor: pointer;
           width: 15px;
           height: 15px;
           background: url('https://wiki.pokexgames.com/images/f/fb/SwapButtonAddons.png') no-repeat center;
           background-size: contain;
           display: block;
           margin: 0 auto;
       }
   </style>

</head> <body>

   <form id="imageForm">
           <input type="text" id="imageSearch" placeholder="Digite o nome da imagem" autocomplete="off">
   </form>
   <script>
       const imageList = {
           'Squirtle': { 
               imageUrl: 'https://wiki.pokexgames.com/images/7/7a/007-Squirtle.png', 
               variations: [
                   { 
                       description: 'Squirtle Purple Ninja Pack',
                       descriptionIMG: 'https://wiki.pokexgames.com/images/c/c1/Purple_Stripe.png',
                       obtain: {
                           url: 'https://wiki.pokexgames.com/index.php/Craft_Profissões_-_Estilista#Rank_E',
                           text: 'Estilista'
                       },
                       additionalImages: [
                           { url: 'https://wiki.pokexgames.com/images/d/dd/Squirtle_Purple_Ninja_Pack_Frente.png'}, // Frente
                           { url: 'https://wiki.pokexgames.com/images/5/50/Squirtle_Purple_Ninja_Pack_Esquerda.png'}, // Lado Esquerdo
                           { url: 'https://wiki.pokexgames.com/images/a/af/Squirtle_Purple_Ninja_Pack_Direita.png'}, // Costas
                           { url: 'https://wiki.pokexgames.com/images/5/5d/Squirtle_Purple_Ninja_Pack_Costas.png'}  // Lado Direito
                       ]
                   },
                   {  
                       description: 'Squirtle Red Ninja Pack',
                       descriptionIMG: 'https://wiki.pokexgames.com/images/c/c1/Purple_Stripe.png',
                       obtain: {
                           url: 'https://wiki.pokexgames.com/index.php/Craft_Profissões_-_Estilista#Rank_E',
                           text: 'Estilista'
                       },
                       additionalImages: [
                           { url: 'https://wiki.pokexgames.com/images/1/13/Squirtle_Red_Ninja_Pack_Frente.png'}, // Frente
                           { url: 'https://wiki.pokexgames.com/images/1/1e/Squirtle_Red_Ninja_Pack_Esquerda.png'}, // Lado Esquerdo
                           { url: 'https://wiki.pokexgames.com/images/0/01/Squirtle_Red_Ninja_Pack_Costas.png'}, // Costas
                           { url: 'https://wiki.pokexgames.com/images/f/fd/Squirtle_Red_Ninja_Pack_Direita.png'}  // Lado Direito
                       ]
                   }
               ]
           },
       };
       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>