Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

theorezende

Scroll To Bottom (evento scrollto top jquery) não funciona

Recommended Posts

Boa tarde galera tudo beleza?

Então, estou precisando fazer com que a tela role para determinada parte da tela quando eu clicar em um botão, similar ao botão deste site : http://madgo.com.br/

Porém quando eu clico no botão não acontece nada, andei pesquisando e só encontrei o evento scrolltop não existe o bottom?

Se vocês puderem por favor deem uma olhada em que eu possa estar errando, o código é :

jQuery(document).ready(function($) {                   
jQuery('#fixed-button-pdf').click(function (e) { 
e.preventDefault();
jQuery.scrollTo.window().queue([]).stop(); // Prevent scroll queue from building up
         var divID = '#container-59';
var header = $('header[role="banner"]');
var offsetHeight = -50;
if (header.css('position') == 'absolute' || header.css('display') == 'none') { offsetHeight = 0; };
        if(jQuery(divID).length){
jQuery(window).scrollTo(divID, {duration:1600, easing:'swing', offset:offsetHeight, axis:'y' }, {queue:false});
}
});
});

Obs: Estou fazendo o projeto em Wordpress, interfere em alguma coisa?

 

Obrigado desde já pessoal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe scrollBottom

Não interfere vc estar com WordPress.

 

Aparece algum erro no console ?

Ctrl + Shift + J ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se ajuda:

$(function() {                   
    $('#fixed-button-pdf').on('click', function () {
        var target = $('#container-59').offset();
        $('html').animate({scrollTop:target.top}, 2000);
    });
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

 

$(function() {                   
    $('#fixed-button-pdf').on('click', function (e) {
        e.preventDefault();
        var target = $('#container-59').offset();
        $('html').animate({scrollTop:target.top}, 2000);
    });
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Somente a título de curiosidade fui entender o porque do e.preventDefault no button.

 

Do ponto de vista funcional não há diferença entre utilizar um input submit ou um button submit, ambos irão submeter o formulário da mesma forma. Segundo a especificação, se o atributo type estiver ausente da tag <button>, o comportamento padrão será de submit.

 

Portanto, como ja citou o Wlliam, utilize o e.preventDefault que provavelmente resolverá o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todos os navegadores acrescente no seletor "body"

...
     $('html, body').animate({scrollTop:target.top}, 2000);
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.