Jump to content
Brxlx

Como executar animate para somente um determinado item do html?

Recommended Posts

Estou tentando inserir essa lógica no scroll da minha página, ele pega corretamente a condição do ife entra no laço. Para todos os demais elementos da página que geram o scroll, ele rola certo, apenas para o button#conheca que não consigo fazer o cálculo da altura. Preciso que ele pegue o offset e some com a altura, devido ao menu que abre em mobile, mas ele está sendo sobrescrito pelo scrollTop anterior.

Com qual função devo verificar para executar corretamente a lógica?

 if($(window).width() <= 768){


    $("html, body, button:not(#conheca)").animate({

      scrollTop: (target.offset().top - $(window).height())


    }, 1000, "easeInOutExpo");
    return false;
    $("#conheca").on("click", function(){ 

      $('#conheca').animate({
        scrollTop: (target.offset().top + $(window).height())

      }, 1000, "easeInOutExpo");
      return false;
    });

  }else{
    $('html, body').animate({
      scrollTop: (target.offset().top)

    }, 1000, "easeInOutExpo");
    return false;
  }

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Minatos™
      Olá pessoal, tudo bom? recentemente eu comecei a aprender programação com JS, eu já conseguir usar o
      .checkboxes em exercício que o professor passou, entretanto, quando fui criar outros exercícios pra treinar, pra conseguir realmente aprender, ao usar o mesmo método que o professor utilizar, o meu código não funciona.
       
      Basicamente, eu quero saber quando o usuário clicar em uma opção, e em seguida fazer uma ação, o meu código abaixo é de uma pergunta com resposta, basicamente quero saber qual resposta o usuário clicou e dependendo de qual, queria informar uma mensagem na <div></div>
       
      HTML: 
      <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Modelo de exercício</title> <link rel="stylesheet" href="estilo.css"> </head> <body> <header> <h1>Pergunta do Milhão</h1> </header> <section> <div id="div1"> <center><p>O que é um sistema ERP?</p></center> <p><input type="radio" name="per1" id="alt1" > <label for="alt1">É um sistema de informação que integra todos os dados e processos de uma organização em um único sistema.</label></p> <p><input type="radio" name="per1" id="alt2"> <label for="alt2">É uma instituição internacional sem fins lucrativos que associa profissionais de gestão de projetos.</label></p> <p><input type="radio" name="per1" id="alt3"> <label for="alt3"> é um conjunto de práticas na gestão de projetos organizado pelo instituto PMI e é considerado a base do conhecimento sobre gestão de projetos por profissionais da área.</label></p> <p><input type="radio" name="per1" id="alt4" checked > <label for="alt4">NDA</label></p> <center><input type="button" value="Verificar" onclick="verificar()"></center> </div> <div id="res"> Testando... </div> </section> <footer> <p>&copy; Alexsander Fontes</p> </footer> <script src="script.js"></script> </body> </html> JS:
      function verificar() { var pergunta = document.getElementById('per1') var res = document.getElementById('res') if (pergunta[0].checked) { res.innerHTML = `Testando manipulação'` } else if (pergunta[1].checked) { res.innerHTML = `Testando manipulação 1` } else if (pergunta[2].checked) { res.innerHTML = `Testando manipulação 2` } else if (pergunta[3].checked) { res.innerHTML = `Testando manipulação 3` } } E então, se eu usar:
      res.innerHTML = `Testando manipulação`  fora do IF, funciona normal, se eu por na condição, o código para. :/
    • By ricardonews
      Olá pessoal, fiz 2 formularios  de login em jquery e ajax, um eu vi na internert o modelo então fiz umas adaptações e funcionou com meu banco de dados. porem o outro que fiz baseado nele não funcionou. vou postar aqui pra voces o funcionando e o não funcionando, alguém pode me dar uma ajuda?, dizer que erro é esse? ele simplesmente não loga e não aparece erros no console.
      <!doctype html> <html> <?php require_once"config.php"; ?> <head> <title>APRENDIZ DE JS</title> <link href="style.css" rel="stylesheet" type="text/css"> <script src="jquery-3.2.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#but_submit").click(function(){ var username = $("#meu_nome").val().trim(); var password = $("#minha_senha").val().trim(); if( username != "" && password != "" ){ $.ajax({ url:'pesquisar.php', type:'post', data:{username:username,password:password}, success:function(response){ var msg = ""; if(response == 1){ window.location = "home.php"; }else{ msg = "Invalid username and password!"; } $("#message").html(msg); } }); } }); }); </script> </head> <body> <div class="container"> <div id="div_login"> <h1>Login</h1> <div id="message"></div> <div> <input type="text" class="textbox" id="meu_nome" name="meu_nome" placeholder="Username" /> </div> <div> <input type="password" class="textbox" id="minha_senha" name="minha_senha" placeholder="Password"/> </div> <div> <input type="button" value="logar" name="but_submit" id="but_submit" /> </div> </div> </div> </body> </html> /* Container */ .container{ width:40%; margin:0 auto; } /* Login */ #div_login{ border: 1px solid gray; border-radius: 3px; width: 470px; height: 270px; box-shadow: 0px 2px 2px 0px gray; margin: 0 auto; } #div_login h1{ margin-top: 0px; font-weight: normal; padding: 10px; background-color: cornflowerblue; color: white; font-family: sans-serif; } #div_login div{ clear: both; margin-top: 10px; padding: 5px; } #div_login .textbox{ width: 96%; padding: 7px; } #div_login input[type=submit]{ padding: 7px; width: 100px; background-color: lightseagreen; border: 0px; color: white; } #message{ width:100%; text-align:center; color:red; } /* media */ @media screen and (max-width:720px){ .container{ width: 100%; } #div_login{ width: 99%; } } <?php require_once "config.php"; // AQUI É O PESQUISAR PHP $uname = mysqli_real_escape_string($con,$_POST['username']); $password = mysqli_real_escape_string($con,$_POST['password']); if ($uname != "" && $password != ""){ $sql_query = "SELECT count(*) as cntUser FROM usuarios WHERE username='".$uname."' and password='".$password."'"; $result = mysqli_query($con,$sql_query); $row = mysqli_fetch_array($result); $count = $row['cntUser']; if($count > 0){ $_SESSION['uname'] = $uname; echo 1; }else{ echo 0; } } <?php require_once "config.php"; // AQUI É A HOME.PHP // Check user login or not if(!isset($_SESSION['uname'])){ header('Location: index.php'); } // logout if(isset($_POST['but_logout'])){ session_destroy(); header('Location: index.php'); } ?> <!doctype html> <html> <head> <title>SEJA BEM VINDO!</title> </head> <body> <h1>PÁGINA INICIAL</h1> <form method='post' action=""> <input type="submit" value="SAIR" name="but_logout"> </form> </body> </html> <?php // ESSE AQUI É A CONFIG.PHP session_start(); $host = "localhost"; /* Host name */ $user = "root"; /* User */ $password = ""; /* Password */ $dbname = "login2"; /* Database name */ $con = mysqli_connect($host, $user, $password,$dbname); // Check connection if (!$con) { die("Connection failed: " . mysqli_connect_error()); } Então pessoal, até aqui funciona normal .
      agora a linha abaixo é oque não funciona e eu vou postar só a index e o css porque repete o de cima.
      se alguém poder me ajudar eu fico grato. desde já muito obrigado
      <html> <?php require_once"config.php"; ?> <head> <title>Formulario de login </title> <link href="css/style.css" rel="stylesheet" type="text/css" /> <script src="jquery-3.2.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#but_submit").click(function(){ var username = $("#meu_nome").val().trim(); var password = $("#minha_senha").val().trim(); if( username != "" && password != "" ){ $.ajax({ url:'pesquisar.php', type:'post', data:{username:username,password:password}, success:function(response){ var msg = ""; if(response == 1){ window.location = "home.php"; }else{ msg = "Invalid username and password!"; } $("#message").html(msg); } }); } }); }); </script> </head> <body> <form id="formulario" method="post"> <fieldset> <h2>Configuracoes da conta</h2> <h3>Area de login </h3> <input type="text" id="meu_nome"name="meu_nome" placeholder="username" /> <input type="password" id="minha_senha " name="minha_senha" placeholder="digite sua senha" /> <input type="submit" class="next acao" value="Logar" /> </fieldset> </body> </html> agora é o css
      *{margin:0; padding:0;} html{ height:100%; background: linear-gradient(rgba(38, 128, 101, 0.9), rgba(52, 177, 140, 0.9)); } .erros, .ok { width:390px; padding:5px; background:rgba(238, 249, 113, 0.9); margin: 20px auto 0 auto; border: 1px solid rgba(222,239,10,0.9); border-radius: 4px; color: #333; } .ok{background: rgba(155,222,143,0.9);border-color: rgba(68, 171, 50, 0.9);color:white;} body{ font-family: "Trebuchet MS", tahoma, arial; } #formulario{ width:500px; margin:40px auto; text-align:center; position:relative; } #formulario fieldset{ background:white; border:0 none; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; box-shadow:0 0 15px 1px rgba(0,0,0, 0.4); padding:20px 30px; box-sizing: border-box; width:80%; margin:0 10%; position:absolute; } #formulario input, #formulario textarea{ padding:10px; border:1px solid rgba(38, 128, 101, 0.9); border-radius:4px; -moz-border-radius:4px; -webkit-border-radius:4px; outline:none; box-sizing: border-box; width:100%; font:14px "Trebuchet MS", tahoma, arial; color:#090; margin-bottom:10px; } #formulario .acao{ width:100px; background:rgba(38, 128, 101, 0.9); color:white; text-transform:uppercase; font-weight:bold; padding:12px 0; float:left; margin-right:5%; } #formulario .acao:hover{background:rgba(52, 177, 140, 0.9); cursor:pointer;}  
    • By odenilson marques
      Ola pessoal,  estou precisando de uma força! segue a situação.
       
      tenho 3 formulário em um projeto, sendo eles:
      form_cad_empresa
      form_cad_atividade
      form_cad_processo
       
      no form_cad_atividade e form_cad_processo tenho uma combobox que lista todas empresas cadastradas no form_cad_empresa, porém no form_cad_atividade e no form_cad_processo também tenho um link que redireciona o usuário para o form_cad_empresa para ele cadastrar a empresa caso não encontre a empresa na combobox do form_cad_atividade e form_cad_processo, porém gostaria que quando terminasse o cadastro do form_cad_empresa este teria que ser redirecionado para o form_cad_atividade ou form_cad_processo, ou seja ele retornaria para formulario que chamou o form_cad_empresa.
       
      Alguém pode me da um norte?
       
    • By eduardaarosaa
      Estou estudando Js, fiz esse exemplo abaixo porém o onlick não está chamando a função, nada acontece quando quando clico no botão.
          
      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <meta http-equiv="X-UA-Compatible" content="ie=edge">
          <title>Somando números</title>
      </head>
      <body>
          <h1>Soamando valores</h1>
          <input type="number" name="txt0" id="txt1">
          +
          <input type="number" name="txt2" id="txt3">
          <input type="button" value="somar" id="botao" onclick="somar()">
          <div id="res">
          </div>
          <script>
          
              res.addEventListener('mouseeenter', entrar);
              function somar(){
                  var n1 = window.document.querySelector("input#txt1");
                  var n2 = window.document.querySelector("input#txt3");
                  var n1 = Number(txt1.value);
                  var n2 = Number(txt3.value);
                  var soma = (n1+n2);
                  var res = window.document.getElementById("res");
          
                  res.innerHTML(`A soma é de ${soma}`);
                 
              }
              function entrar(){
                  area.style.background="red";
              }
          </script>
      </body>
      </html>
           
    • By emersongo
      Olá, no meu projeto tenho uma animação ao scroll, quando me aproximo do elemento ele "surge" de algum lado, porém por alguma razão somente alguns elementos do site estão funcionando 100%, outros, no inspecionar mostra que a classe ANIMATE já é adicionada no elemento assim que a página é carregada, e a mesma não é removida mesmo quando eu me aproximo e afasto do elemento.

      Fazendo alguns testes vi que quando o elemento animado está fora do pai SECTION funciona normalmente, quando está dentro não (com exceção do primeiro elemento animado do site).

      Fiz o upload do código para o JSFiddle, https://jsfiddle.net/kuxf7mep/ ,como pode ver o elemento ARTICLE na linha 101 está animado normalmente, porém os elementos HEADER da linha 147 e o MAIN da linha 152 estão com a animação mas não funcionam.

      OBS: Podem fazer o teste colocando um elemento animado dentro e fora da section.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.