Fórum ScrollTop() #583132
30/06/2017
0
Alguém sabe como funciona?
Dayan Barros
Curtir tópico
+ 0Post mais votado
10/07/2017
Mas isso pode ser feito com a ajuda do animate:
var scrollAtual = $(window).scrollTop();
$('html, body').animate({
scrollTop: //posição desejada
}, function(){
var scrollNovo = $(window).scrollTop();
if(scrollAtual > scrollNovo){
//cima
}else{
//baixo
}
});
Victor Machado
Gostei + 3
Mais Posts
10/07/2017
Dayan Barros
Então, eu tinha feito assim, no caso eu aplico a classe da animação e fixo o menu no topo, só que eu to com problema de quando eu volto para o topo, ele retira a animação, então ele não faz aquela animação bonita que uso no animation.
$(window).scroll(function(){
var fixed = $('header'),
scroll = $(window).scrollTop();
if (scroll >= 100){
fixed.addClass('fixed-header');
} else {
fixed.removeClass('fixed-header');
}
});
Eu to penando para conseguir fazer isso.
Como eu falei antes eu estava até querendo fazer aquele efeito de que quando ele identifica o scroll para baixo, ele sobe o menu e quando para cima, ele aparece o menu (parecido com a barra do navegador no mobile). Mas to com dificuldade.
Abraços
Gostei + 1
12/07/2017
Victor Machado
Acho que entendi.
O que você deve fazer é, assim que a página for carregada capturar a posição atual do scroll e guardar em uma variavel, e no evento de scroll guardar a nova posição, e verificar se é maior e menor e no final atualizar a variável inicial com o scroll atual.
$(document).ready(function(){
var ultimoScroll = $(window).scrollTop(); // posição inicial do scroll
$(window).scroll(function(){
var fixed = $("header");
var novoScroll = $(window).scrollTop(); // posição após o scroll
if(novoScroll < ultimoScroll ){
//o scroll foi para cima
}else{
//o scroll foi para baixo
}
ultimoScroll = novoScroll; // atualizando com a posição do scroll atual
});
});Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)