Mudanças entre as edições de "Widget:VisnoTeste"

De Wiki Gla
Ir para navegação Ir para pesquisar
Linha 5: Linha 5:
   <title>Teste GIF Hover</title>
   <title>Teste GIF Hover</title>
   <style>
   <style>
    body {
      margin: 0;
      font-family: sans-serif;
      color: white;
    }
    .search-bar {
      text-align: right;
      padding: 20px;
    }
    .search-bar input {
      padding: 8px;
      width: 250px;
      border-radius: 5px;
      border: 1px solid #ccc;
    }
    .container {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: center;
      padding-bottom: 40px;
    }
     .personagem {
     .personagem {
       width: 200px;
       width: 200px;
       height: 100px;
       height: 100px;
       border-radius: 10px;
       border-radius: 10px;
      background-color: #414c5c;
      background-image: url('https://postimg.cc/CZ0K6WjF');
       background-size: 150%;
       background-size: 150%;
       background-position: center -30px;
       background-position: center -30px;
Linha 19: Linha 43:
       padding: 5px;
       padding: 5px;
       font-weight: bold;
       font-weight: bold;
      font-family: sans-serif;
       color: white;
       color: white;
       text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
       text-shadow: 1px 1px 4px #000, 0 0 20px #000;
       position: relative;
       position: relative;
       cursor: pointer;
       cursor: pointer;
       border: 2px solid #58aaff;
       border: 2px solid #58aaff;
       overflow: hidden;
       overflow: hidden;
      text-decoration: none;
     }
     }


Linha 50: Linha 74:
     .personagem:hover .gif-overlay {
     .personagem:hover .gif-overlay {
       opacity: 1;
       opacity: 1;
     }  
     }


     .container {
     .personagem.luffy .gif-overlay {
  display: flex;
      background-position: center 0px;
  gap: 10px; /* espaçamento entre os botões */
    }
  flex-wrap: wrap; /* para quebrar linha se não couber */
 
  justify-content: center; /* opcional: centraliza */
    .personagem.hancock {
}
      background-size: 115%;
    }
 
    .personagem.kizaru {
      background-position: center -20px;
    }
 
    /* --------- Tiers ----------- */
    .tier-diamante .personagem {
      background-color: #414c5c;
    }
 
    .tier-gold .personagem {
      background-color: #d4af37;
    }


    .tier-prata .personagem {
      background-color: #c0c0c0;
    }


.personagem.luffy .gif-overlay {
    .tier-bronze .personagem {
  background-position: center 0px; /* ajuste aqui para mover para baixo (ex: 10px, 20px...) */
      background-color: #cd7f32;
}
    }
   </style>
   </style>
</head>
</head>
<body>
<body>


<!-- Barra de Pesquisa -->
<div class="search-bar">
  <input type="text" id="search" placeholder="Pesquisar personagem...">
</div>
<!-- Personagens -->
<div class="container">
<div class="container">
   <div class="personagem"
 
      data-static="https://i.postimg.cc/0NMJrvjJ/fundoaokiji.png"
  <!-- aokiji -->
      data-gif="https://i.postimg.cc/nzKrQhJM/aokijiemotecard2.gif">
   <div class="tier-diamante">
     <span>Aokiji</span>
    <div class="personagem" data-static="https://i.postimg.cc/0NMJrvjJ/fundoaokiji.png" data-gif="https://i.postimg.cc/nzKrQhJM/aokijiemotecard2.gif">
     <div class="gif-overlay"></div>
      <span>Aokiji</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
<!-- kuma -->
  <div class="tier-diamante">
    <div class="personagem" data-static="https://i.postimg.cc/NMvyjfMC/kuma.png" data-gif="">
      <span>Bartholomew Kuma</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
  <!-- hancock -->
  <div class="tier-diamante">
    <div class="personagem hancock" data-static="https://i.postimg.cc/2j25Px4K/boahan.png" data-gif="">
      <span>Boa Hancock</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
  <!-- kizaru -->
  <div class="tier-diamante">
    <div class="personagem kizaru" data-static="https://i.postimg.cc/PqjhLLWD/kizaru.webp" data-gif="">
      <span>Borsalino Kizaru</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
  <!-- brook -->
  <div class="tier-diamante">
    <div class="personagem" data-static="https://i.postimg.cc/rmsHzcPW/brookts.png" data-gif="">
      <span>Brook (TS)</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
  <!-- chopper -->
  <div class="tier-diamante">
    <div class="personagem hancock" data-static="https://i.postimg.cc/QM26N5cL/chopperts.png" data-gif="">
      <span>Chopper (TS)</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
  <!-- doflamingo -->
  <div class="tier-diamante">
    <div class="personagem hancock" data-static="https://i.postimg.cc/3JfFJmHL/doflamingo.png" data-gif="">
      <span>Donquixote Doflamingo</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
  <!-- mihawk -->
  <div class="tier-diamante">
     <div class="personagem" data-static="https://i.postimg.cc/6QWWj28X/Dracule-Mihawk.webp" data-gif="">
      <span>Dracule Mihawk</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
 
  <!-- ivankov -->
  <div class="tier-diamante">
     <div class="personagem" data-static="https://i.postimg.cc/C1pWP9Pf/Ivan-chan.webp" data-gif="">
      <span>Emporio Ivankov</span>
      <div class="gif-overlay"></div>
    </div>
   </div>
   </div>


     <div class="personagem luffy"
  <!-- enel -->
      data-static="https://i.postimg.cc/L8hJ0Sz0/luffycard.png"
  <div class="tier-diamante">
      data-gif="https://i.postimg.cc/G2n92s6Z/luffytsemotecard.gif">
     <div class="personagem" data-static="https://i.postimg.cc/DzLNXBvf/enel2.png" data-gif="">
    <span>Monkey D. Luffy (TS)</span>
      <span>Enel</span>
    <div class="gif-overlay"></div>
      <div class="gif-overlay"></div>
    </div>
   </div>
   </div>
  <!-- luffy -->
  <div class="tier-diamante">
    <div class="personagem luffy" data-static="https://i.postimg.cc/L8hJ0Sz0/luffycard.png" data-gif="https://i.postimg.cc/G2n92s6Z/luffytsemotecard.gif">
      <span>Monkey D. Luffy (TS)</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
  <!-- bege -->
  <div class="tier-gold">
    <div class="personagem" data-static="bege.webp" data-gif="luffytsemotecard.gif">
      <span>Capone Gang Bege</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
  <!-- bon clay -->
  <div class="tier-prata">
    <div class="personagem" data-static="BonClay.webp" data-gif="luffytsemotecard.gif">
      <span>Bon Clay</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
  <!-- alvida -->
  <div class="tier-bronze">
    <div class="personagem" data-static="AlvidaSlime.webp" data-gif="luffytsemotecard.gif">
      <span>Alvida (Slime)</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
  <!-- baby 5 -->
  <div class="tier-gold">
    <div class="personagem" data-static="bb5.webp" data-gif="luffytsemotecard.gif">
      <span>Baby 5</span>
      <div class="gif-overlay"></div>
    </div>
  </div>
</div>
</div>
<!-- Scripts -->
<script>
<script>
const cards = document.querySelectorAll('.personagem');
  const cards = document.querySelectorAll('.personagem');


cards.forEach(card => {
  cards.forEach(card => {
  const staticImg = card.getAttribute('data-static');
    const staticImg = card.getAttribute('data-static');
  const gifImg = card.getAttribute('data-gif');
    const gifImg = card.getAttribute('data-gif');
  const overlay = card.querySelector('.gif-overlay');
    const overlay = card.querySelector('.gif-overlay');
    card.style.backgroundImage = `url('${staticImg}')`;


  // Define o fundo estático
    card.addEventListener('mouseenter', () => {
  card.style.backgroundImage = `url('${staticImg}')`;
      const uniqueGifUrl = `${gifImg}?t=${new Date().getTime()}`;
      overlay.style.backgroundImage = `url('${uniqueGifUrl}')`;
    });


  card.addEventListener('mouseenter', () => {
    card.addEventListener('mouseleave', () => {
    const uniqueGifUrl = `${gifImg}?t=${new Date().getTime()}`;
      overlay.style.backgroundImage = '';
    overlay.style.backgroundImage = `url('${uniqueGifUrl}')`;
    });
   });
   });


   card.addEventListener('mouseleave', () => {
   document.getElementById('search').addEventListener('input', function () {
    overlay.style.backgroundImage = '';
    const term = this.value.toLowerCase();
    cards.forEach(card => {
      const name = card.querySelector('span').textContent.toLowerCase();
      card.parentElement.style.display = name.includes(term) ? 'block' : 'none';
    });
   });
   });
});


  //  Links dos personagens
  const personagemLinks = {
    "Aokiji": "https://wiki.gla.com.br/index.php/Aokiji",
    "Bartholomew Kuma": "https://wiki.gla.com.br/index.php/Kuma",
    "Boa Hancock": "https://wiki.gla.com.br/index.php/Boa_Hancock",
    "Borsalino Kizaru": "https://wiki.gla.com.br/index.php/Kizaru",
    "Brook (TS)": "https://wiki.gla.com.br/index.php/Brook_(Timeskip)",
    "Chopper (TS)": "https://wiki.gla.com.br/index.php/Chopper_(Timeskip)",
    "Donquixote Doflamingo": "https://wiki.gla.com.br/index.php/Doflamingo",
    "Dracule Mihawk": "https://wiki.gla.com.br/index.php/Mihawk",
    "Emporio Ivankov": "https://wiki.gla.com.br/index.php/Ivankov",
    "Enel": "https://wiki.gla.com.br/index.php/Enel",
    "Monkey D. Luffy (TS)": "https://wiki.gla.com.br/index.php/Luffy_(Timeskip)",
    "Capone Gang Bege": "https://wiki.gla.com.br/index.php/Capone_Bege",
    "Bon Clay": "https://wiki.gla.com.br/index.php/Mr.2",
    "Alvida (Slime)": "https://wiki.gla.com.br/index.php/Alvida",
    "Baby 5": "https://wiki.gla.com.br/index.php/Baby_5"
  };
  //  Envolve as boxes com <a>
  cards.forEach(card => {
    const span = card.querySelector('span');
    const nomePersonagem = span?.textContent.trim();
    const link = personagemLinks[nomePersonagem];
    if (link) {
      const wrapper = document.createElement('a');
      wrapper.href = link;
      wrapper.target = "_blank";
      wrapper.style.display = "block";
      wrapper.style.textDecoration = "none";
      card.parentElement.replaceChild(wrapper, card);
      wrapper.appendChild(card);
    }
  });
</script>
</script>


</body>
</body>
</html>
</html>

Edição das 06h11min de 16 de junho de 2025

<!DOCTYPE html> <html lang="pt-BR"> <head>

 <meta charset="UTF-8">
 <title>Teste GIF Hover</title>
 <style>
   body {
     margin: 0;
     font-family: sans-serif;
     color: white;
   }
   .search-bar {
     text-align: right;
     padding: 20px;
   }
   .search-bar input {
     padding: 8px;
     width: 250px;
     border-radius: 5px;
     border: 1px solid #ccc;
   }
   .container {
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
     justify-content: center;
     padding-bottom: 40px;
   }
   .personagem {
     width: 200px;
     height: 100px;
     border-radius: 10px;
     background-size: 150%;
     background-position: center -30px;
     transition: transform 0.3s;
     display: flex;
     align-items: flex-end;
     justify-content: flex-end;
     padding: 5px;
     font-weight: bold;
     color: white;
     text-shadow: 1px 1px 4px #000, 0 0 20px #000;
     position: relative;
     cursor: pointer;
     border: 2px solid #58aaff;
     overflow: hidden;
     text-decoration: none;
   }
   .personagem span {
     z-index: 2;
   }
   .gif-overlay {
     position: absolute;
     inset: 0;
     background-repeat: no-repeat;
     background-size: 150%;
     background-position: center -30px;
     opacity: 0;
     transition: opacity 0.4s ease;
     z-index: 1;
     pointer-events: none;
   }
   .personagem:hover {
     transform: scale(1.05);
   }
   .personagem:hover .gif-overlay {
     opacity: 1;
   }
   .personagem.luffy .gif-overlay {
     background-position: center 0px;
   }
   .personagem.hancock {
     background-size: 115%;
   }
   .personagem.kizaru {
     background-position: center -20px;
   }
   /* --------- Tiers ----------- */
   .tier-diamante .personagem {
     background-color: #414c5c;
   }
   .tier-gold .personagem {
     background-color: #d4af37;
   }
   .tier-prata .personagem {
     background-color: #c0c0c0;
   }
   .tier-bronze .personagem {
     background-color: #cd7f32;
   }
 </style>

</head> <body>

     Aokiji
     Bartholomew Kuma
     Boa Hancock
     Borsalino Kizaru
     Brook (TS)
     Chopper (TS)
     Donquixote Doflamingo
     Dracule Mihawk
     Emporio Ivankov
     Enel
     Monkey D. Luffy (TS)
     Capone Gang Bege
     Bon Clay
     Alvida (Slime)
     Baby 5

<script>

 const cards = document.querySelectorAll('.personagem');
 cards.forEach(card => {
   const staticImg = card.getAttribute('data-static');
   const gifImg = card.getAttribute('data-gif');
   const overlay = card.querySelector('.gif-overlay');
   card.style.backgroundImage = `url('${staticImg}')`;
   card.addEventListener('mouseenter', () => {
     const uniqueGifUrl = `${gifImg}?t=${new Date().getTime()}`;
     overlay.style.backgroundImage = `url('${uniqueGifUrl}')`;
   });
   card.addEventListener('mouseleave', () => {
     overlay.style.backgroundImage = ;
   });
 });
 document.getElementById('search').addEventListener('input', function () {
   const term = this.value.toLowerCase();
   cards.forEach(card => {
     const name = card.querySelector('span').textContent.toLowerCase();
     card.parentElement.style.display = name.includes(term) ? 'block' : 'none';
   });
 });
 //  Links dos personagens
 const personagemLinks = {
   "Aokiji": "https://wiki.gla.com.br/index.php/Aokiji",
   "Bartholomew Kuma": "https://wiki.gla.com.br/index.php/Kuma",
   "Boa Hancock": "https://wiki.gla.com.br/index.php/Boa_Hancock",
   "Borsalino Kizaru": "https://wiki.gla.com.br/index.php/Kizaru",
   "Brook (TS)": "https://wiki.gla.com.br/index.php/Brook_(Timeskip)",
   "Chopper (TS)": "https://wiki.gla.com.br/index.php/Chopper_(Timeskip)",
   "Donquixote Doflamingo": "https://wiki.gla.com.br/index.php/Doflamingo",
   "Dracule Mihawk": "https://wiki.gla.com.br/index.php/Mihawk",
   "Emporio Ivankov": "https://wiki.gla.com.br/index.php/Ivankov",
   "Enel": "https://wiki.gla.com.br/index.php/Enel",
   "Monkey D. Luffy (TS)": "https://wiki.gla.com.br/index.php/Luffy_(Timeskip)",
   "Capone Gang Bege": "https://wiki.gla.com.br/index.php/Capone_Bege",
   "Bon Clay": "https://wiki.gla.com.br/index.php/Mr.2",
   "Alvida (Slime)": "https://wiki.gla.com.br/index.php/Alvida",
   "Baby 5": "https://wiki.gla.com.br/index.php/Baby_5"
 };
 //  Envolve as boxes com <a>
 cards.forEach(card => {
   const span = card.querySelector('span');
   const nomePersonagem = span?.textContent.trim();
   const link = personagemLinks[nomePersonagem];
   if (link) {
     const wrapper = document.createElement('a');
     wrapper.href = link;
     wrapper.target = "_blank";
     wrapper.style.display = "block";
     wrapper.style.textDecoration = "none";
     card.parentElement.replaceChild(wrapper, card);
     wrapper.appendChild(card);
   }
 });

</script>

</body> </html>