Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brunoarchanjo88

Mover circulo de um lado para o outro automaticamente

Recommended Posts

Como percorrer o circulo da esquerda para a direita vagarosamente e automaticamente sem o uso do mousemove, há como? 

<!DOCTYPE html>
<html>
<head>
<style> 
body {
  background: #000;
  width: 100vw;
  height: 100vh;
  padding: 0;
  margin: 0;
}
.frame {
  background-image: url(https://hacks.mozilla.org/files/2017/06/benko-game.png);
  background-repeat: repeat-x;
  background-position: left center;
  width: 100%;
  height: 100%;
  
  -webkit-clip-path: circle(80px);
  clip-path: circle(80px);
}
.message {
  position: absolute;
  color: #fff;
  top: 20px;
  left: 20px;
  font-family: monospace;
  font-size: 1.2em;
  background: #0006;
  padding: 1em;
}
</style>
</head>
<body>
<article class="frame">
</article>
<p class="message">Move the mouse around…</p>
<script>
    let container = document.querySelector('.frame');
const RADIUS = 80;
document.addEventListener('mousemove', function (event) {
  let x = event.clientX;
  let y = event.clientY;
  
  let circle = `circle(${RADIUS}px at ${x}px ${y}px)`;
  container.style['-webkit-clip-path'] = circle;
  container.style['clip-path'] = circle;
});
</script>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é isso que quero. Sei fazer todos aqueles efeitos e vários outras animações e transições. Só quero que aquele periscópio do código acima(circulo) se movimente automaticamente. Faz tempo que estou tentando isso e não consigo de forma alguma. Revirei a internet toda e nada.

O máximo que consegui, foi movimentar o circulo automaticamente, porém a foto de fundo de movimentou também, e quero que fique estático a foto de fundo e que somente o circulo se movimente revelando a foto de fundo aos poucos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso no javascript

 

let container = document.querySelector('.frame');
const RADIUS = 80;

let incrementoX = 2;
let incrementoY = 1;
let x = 1;
let y = 1;

intervalMove = setInterval(MovimentaCirculo, 25);
function MovimentaCirculo() {
	x+=incrementoX;
  y+=incrementoY;
  
  if(incrementoX > 0 && x > 400){
  	incrementoX = -2;
	}
  if(incrementoY > 0 && y > 300){
  	incrementoY = -1;
  }
  if(incrementoX < 0 && x < 0){
  	incrementoX = 2;
	}
  if(incrementoY < 0 && y < 0){
  	incrementoY = 1;
  }  

  let circle = `circle(${RADIUS}px at ${x}px ${y}px)`;
  container.style['-webkit-clip-path'] = circle;
  container.style['clip-path'] = circle;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente isso que queria. Obrigado!

 

E como  faço o "circulo" andar em 360º no sentido horário ao invés de ficar batendo nos cantos como está no momento?

 

Tentei com o rotate de 0º a 360º do css e deu certo, só que a imagem de fundo girou junto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por belann
      Olá!
       
      Estou usando o nextjs versão 15.2.3 e criei uma navbar que quando é carregado o programa aparece com a home, mas na hora de clicar na página produtos desaparece a navbar.
      A navbar esta sendo chamada no layout.tsx estou usando typescript
      e fica dessa forma
      <div>           <Navbar/>             <main>{children}</main>             </div>  
    • Por ILR master
      Fala pessoal, tudo bem?
       
      Eu tenho o seguinte código:
       
      <script>
         $(function(){
      var jElement = $('.fixar_banner');
      $(window).scroll(function(){
          if ( $(this).scrollTop() > 120 ){
              jElement.css({
                  'position':'fixed',
                  'top':'10px'
              });
          }else{
              jElement.css({
                  'position':'relative',
                  'top':'auto'
              });
          }
      });
      });
      </script>
       
      Porém, eu quero que a div fique fixa até que outro elemento apareça na tela, tipo o rodapé da página por exemplo. É mais ou menos como a página de notícia do uol.
      https://noticias.uol.com.br/internacional/ultimas-noticias/2025/01/19/sonho-americano-brasileiros-moram-em-carro-e-buscam-comida-no-lixo-nos-eua.htm
       
      Espero ter sido claro.
       
      Obrigado :)
       
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida, referente cálculo de valores em tempo real.

      Tenho uma rotina, que faz o cálculo, o problema é mostrar o resultado.

      Quero mostrar o RESULTADO assim: 0,00  ou  0.00

      Abaixo posto o código.
      jQuery('input').on('keyup',function(){ //Remover ponto e trocar a virgula por ponto var m = document.getElementById("pgRest").value; while (m.indexOf(".") >= 0) { m = m.replace(".", ""); } m = m.replace(",","."); //Remover ponto e trocar a virgula por ponto var j = document.getElementById("pgDsct").value; while (j.indexOf(".") >= 0) { j = j.replace(".", ""); } j = j.replace(",","."); m = parseFloat(jQuery('#pgRest').val() != '' ? jQuery('#pgRest').val() : 0); j = parseFloat(jQuery('#pgDsct').val() != '' ? jQuery('#pgDsct').val() : 0); //Mostra o Resultado em Tempo Real jQuery('#pgTroco').val(m - j); <<=== aqui estou errando })  
       
      Grato,
       
      Cesar
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.