Ando reparando de alguns anos pra cá, uma forte tendência em que sites bem dinâmicos e interativos transitam de uma página pra outra sem que a outra página se quer passe por um processo de carregamento, você clica, simplesmente acontece algumas transições nos elementos da página, e de repente, você está em outra página, outro url. De forma suave, nada é carregado, apenas algo acontece e você já está em outra página.
Gostaria de saber como isso é feito pra aplicar em um site que estou desenvolvendo, se é algum framework, alguma ferramenta além do JavaScript...
Trouxe um belo exemplo: https://www.traffic.productions/
Opa galera tudo firmesa? Então, tenho um codigo que faz uma barra aparecer toda vez que eu role a pagina até um certo ponto e tudo funciona normal. Eu gostaria de saber se tem como fazer uma transição nessa barra para ele ir aparecendo devagarzinho com a opacidade em 0 e vai subindo até chegar a 1 coisa de um 0.8s. Não sei como fazer ou se tem como fazer preciso de ajuda.
Codigo js
window.onscroll = function(){
var top = window.pageXOffset || document.documentElement.scrollTop
var barra = document.querySelector(".barra");
if(top > 900){
barra.style.display = 'flex';
//aqui tentei adicionar uma class direto do css para fazer o efeito transition mas sem sucesso.
barra.classList.add('transition');
}else{
barra.style.display = 'none';
}
}
Estou tentando fazer algo simples: redimensionar a altura de uma UL, usando classList.toggle (javascript).
Percebo que, se no CSS eu tentar aplicar o estilo em cascata, não faz efeito na UL só por estar dentro de uma DIV.
Se no CSS eu colocar:
.cnt-filtro-body ul{ list-style:none; position:relative; float:left; width:100%; height:0px; overflow:hidden;
transition: height 0.5s; background-color:#FF0; display:block;
pra estilizar somente ULs que estejam dentro da DIV que tem a classe chamada cnt-filtro-body, a coisa não funciona.
Só funciona se partir direto da ul, assim:
ul{ list-style:none; position:relative; float:left; width:100%; height:0px; overflow:hidden;
transition: height 0.5s; background-color:#FF0; display:block;
Vejam o código.
<!DOCTYPE html>
<html>
<head>
<style>
.cnt-filtro-body{position:relative; height:50px; width:100%;
}
.secao-toggle{height:160px; display:block; float:left; position:relative;}
ul{ list-style:none; position:relative; float:left; width:100%; height:0px; overflow:hidden;
transition: height 0.5s; background-color:#FF0; display:block;
}
</style>
</head>
<body>
<button onclick="myFunction()">Clique aqui</button>
<div class="cnt-filtro-body">
<ul id="myDIV">
This is a DIV element.
</ul>
</div>
<script>
function myFunction() {
var element = document.getElementById("myDIV");
element.classList.toggle("secao-toggle");
}
</script>
</body>
</html>
Minha necessidade é: estilizar apenas UL que estejam dentro da DIV que esteja usando a classe cnt-filtro-body
Estudei toda uma apostila sobre CSS, porém não estou conseguindo realizar uma simples tarefa !!
Ao passar o mouse no 'button.botao', ativar o movimento do 'div.traco' ! Eis abaixo o 'Código Fonte' que estou tentando: