Alguem me ajuda com um efeito de scroll suave pelo amor de Deus

4 respostas Resolvido
R

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

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