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

Edição atual tal como às 03h33min de 17 de setembro 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: 30%;
           box-sizing: border-box;
           margin: 10px;
           text-align: center;
           border: 1px solid #ccc;
           padding: 10px;
       }
       .variation-item img {
           width: 100px;
           height: 100px;
           display: block;
           margin: 0 auto 10px;
       }
       .swap-button {
           margin-top: 10px;
           cursor: pointer;
           width: 15px;
           height: 15px;
           background: url('https://wiki.pokexgames.com/images/2/2d/Comvip.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 = {
           'Charmander': { 
               imageUrl: 'https://wiki.pokexgames.com/images/6/65/004-Charmander.png', 
               variations: [
                   { 
                       imageUrl: 'https://wiki.pokexgames.com/images/3/3b/Clefable_Lovely-_Accessory.png',
                       description: 'Charmander XXX',
                       obtain: {
                           url: 'https://wiki.pokexgames.com/index.php/Craft_Profissões_-_Estilista#Rank_E',
                           text: 'Estilista'
                       },
                       additionalImages: [
                           'https://wiki.pokexgames.com/images/3/3b/Clefable_Lovely-_Accessory.png',  // Frente
                           'https://example.com/left1.png',   // Lado Esquerdo
                           'https://wiki.pokexgames.com/images/3/3b/Clefable_Lovely-_Accessory.png',   // Costas
                           'https://example.com/right1.png'   // Lado Direito
                       ]
                   },
                   {  
                       imageUrl: 'https://wiki.pokexgames.com/images/3/3b/Clefable_Lovely-_Accessory.png',
                       description: 'Charmander brabo.',
                       obtain: {
                           url: 'https://wiki.pokexgames.com/index.php/Craft_Profissões_-_Estilista#Rank_E',
                           text: 'Estilista'
                       },
                       additionalImages: [
                           'https://example.com/front2.png',  // Frente
                           'https://wiki.pokexgames.com/images/3/3b/Clefable_Lovely-_Accessory.png',   // Lado Esquerdo
                           'https://example.com/back2.png',   // Costas
                           'https://wiki.pokexgames.com/images/3/3b/Clefable_Lovely-_Accessory.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]}" alt="Variation Image" class="variation-image" data-variation-index="${index}">
                           Nome do Addon: ${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;
                   variationImage.src = variation.additionalImages[currentImageIndex];
               });
           });
       }
   </script>

</body> </html>