tenho um site feito com jsf e bootstrap e na primeira página por ter muito conteudo fiz um efeito de scroll suavel , mas ao clicar para ir a uma outra pagina o efeito não acontece meu link tá assim : produto.jsf#ultimate
Alguem me ajuda com um efeito de scroll suave pelo amor de Deus
R
4 Respostas
L
Você está usando algum plugin jquery para fazer esse efeito?
R
não , somente javascript
$(’.page-scroll a’).bind(‘click’, function(event) {
var $anchor = $(this);
$(‘html, body’).stop().animate({
scrollTop: ($($anchor.attr(‘href’)).offset().top - 50)
}, 1250, ‘easeInOutExpo’);
event.preventDefault();
});
E
Solucao aceita
cara, para passar de página você está usando ajax, correto?? Sendo assim, os novos elementos (da segunda página), são criados no dom após a invocação do evento…
para resolver isso você pode trocar essa linha aqui:
$('.page-scroll a').bind('click', function(event) {
por algo isso
$(document).on('click', '.page-scroll a' function(event) {
para isso depende da versão do jquery que você usa, conforme visto aqui: http://api.jquery.com/on/
mas você pode fazer isso ou chamar essa sua função junto com o evento dos botões que passam as páginas, ou seja, toda vez que passar a página “bindar” os eventos de “scroll suave”
R
funcionou pra mim , muito obrigado
Criado 23 de junho de 2017
Ultima resposta 1 de fev. de 2018
Respostas 4
Participantes 3