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
Você está usando algum plugin jquery para fazer esse efeito?
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();
});
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”
funcionou pra mim , muito obrigado