Ir para conteúdo

POWERED BY:

Arquivado

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

Caio Kadu

[Resolvido] [jquery] usando o scrollto

Recommended Posts

Fala pessoas tudo bem?

 

Então, o que se passa é o seguinte tenho aqui esse exemplo da função ScrollTo: http://ruancarlos.com.br/Blog/scroll-to-scroll-animado-com-jquery/

 

Porém não quero que ela seja ativada por um botão mas sim por um link, então eu fiz a seguinte alteração no código:

jQuery.noConflict();
jQuery(document).ready(function($){
        
        $('a#linkProjetos').animate(function() {
                scrollTop:$("#projetosPessoais").offset().top, 2000
        });
        
});

Obs: as duas primeiras linhas eu tenho que colocar para que funcione corretamente no WordPress.

 

E para chamar ela no link eu fiz assim:

<a class="descer" href="#projetosPessoais" id="#linkProjetos" title="descer">descer</a>]

Porém não funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso isso, foi um amigo que me me passou. A única forma que rodou do jeito que queria.

 

 

<script>
function elementPosition(obj) 
{
	var curleft = 0, curtop = 0;
	
	if (obj.offsetParent) 
	{
		curleft = obj.offsetLeft;curtop = obj.offsetTop;
		
		while (obj = obj.offsetParent) 
		{
			curleft += obj.offsetLeft;curtop += obj.offsetTop;
		}
	}
	return 
	{ 
		x: curleft, y: curtop 
	};
}

function ScrollToControl(id)
{
	var elem = document.getElementById(id);
	var scrollPos = elementPosition(elem).y;
	scrollPos = scrollPos - document.documentElement.scrollTop;
	var remainder = scrollPos % 50;
	var repeatTimes = (scrollPos - remainder) / 50;
	ScrollSmoothly(scrollPos,repeatTimes);
	window.scrollBy(0,remainder);
}

var repeatCount = 0;
var cTimeout;
var timeoutIntervals = new Array();
var timeoutIntervalSpeed;

function ScrollSmoothly(scrollPos,repeatTimes)
{
	if(repeatCount < repeatTimes)
	{
		window.scrollBy(0,50);
	}
	else
	{
		repeatCount = 0;clearTimeout(cTimeout);
		return;
	}
	repeatCount++;
	cTimeout = setTimeout("ScrollSmoothly('" + scrollPos + "','"+ repeatTimes +"')",10);
	}
</script>

 

<a href="javascript:;" onclick="ScrollToControl('rodape');">

<a name="rodape" id="rodape"></a>

espero que ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Raul!!!

 

Olha o seu código tive uma idéia de como refazer o meu e deu certo.

 

A função em jQuery fica assim:

jQuery.noConflict();
jQuery(document).ready(function($){
	$('#irProjetos').click(function() {
		$('html, body').animate({
				scrollTop: $('#projetosPessoais').offset().top
			}, 2000)
		});
});

 

E para chamar ela no link só fazer assim:

<a class="descer" id="irProjetos" title="descer">descer</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade você tinha esquecido o contexto. ;)

 

Grande Raul!!!

 

Olha o seu código tive uma idéia de como refazer o meu e deu certo.

 

A função em jQuery fica assim:

jQuery.noConflict();
jQuery(document).ready(function($){
	$('#irProjetos').click(function() {
		$('html, body').animate({
				scrollTop: $('#projetosPessoais').offset().top
			}, 2000)
		});
});

 

E para chamar ela no link só fazer assim:

<a class="descer" id="irProjetos" title="descer">descer</a>

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.