Ir para conteúdo

POWERED BY:

Arquivado

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

hao

scroll animado

Recommended Posts

fala galera!

 

peguei o codigo de scroll animada no site revolução etc, no site ele funciona corretamente tanto no ie qto no firefox, mas eu peguei o codigo mas agora nao funciona no ie apenas no firefox. segue o codigo:

 

animated_scroll.js

var scrollInt;	var scrTime, scrSt, scrDist, scrDur, scrInt;					function replaceAnchorLinks()	{		var anchors, i, targ, targarr;			if (!document.getElementById)			return;		// get all anchors		anchors = document.getElementsByTagName("a");				for (i=0;i<anchors.length;i++)		{					// check if href links to an anchor on this page			if ( anchors[i].href.indexOf("#") != -1 && anchors[i].href.indexOf( document.URL ) != -1 )			{				// get name of target anchor				targ = anchors[i].href.substring( anchors[i].href.indexOf("#")+1 );								// find target anchor				targarr = document.getElementsByName( targ );								if (targarr.length)				{					anchors[i].className = (targarr[0].offsetTop < anchors[i].offsetTop) ? "up" : "down";					anchors[i].id = "__" + targ;	// save target as id with prefix (used in onclick function below)					anchors[i].onmousedown = function () { scrollToAnchor( this.id.substring( 2 ) ); return false; };					anchors[i].href = "java script:;";			// rewrite href				}			}					}	}			/*	SCROLL FUNCTIONS  */		function scrollPage()	{		scrTime += scrInt;		if (scrTime < scrDur) {			window.scrollTo( 0, easeInOut(scrTime,scrSt,scrDist,scrDur) );		}else{			window.scrollTo( 0, scrSt+scrDist );			clearInterval(scrollInt);		}	}		function scrollToAnchor(aname)	{		var anchors, i, ele;			if (!document.getElementById)			return;				// get anchor		anchors = document.getElementsByTagName("a");		for (i=0;i<anchors.length;i++) {			if (anchors[i].name == aname) {				ele = anchors[i];				i = anchors.length;			}		}				// set scroll target		if (window.scrollY)			scrSt = window.scrollY;		else if (document.documentElement.scrollTop)			scrSt = document.documentElement.scrollTop;		else			scrSt = document.body.scrollTop;						scrDist = ele.offsetTop - scrSt;		scrDur = 500;		scrTime = 0;		scrInt = 10;				// set interval		clearInterval(scrollInt);		scrollInt = setInterval( scrollPage, scrInt );	}		/* EASING FUNCTIONS	*/		function easeInOut(t,b,c,d)	{		return c/2 * (1 - Math.cos(Math.PI*t/d)) + b;	}		if (window.attachEvent){		window.attachEvent("onload", replaceAnchorLinks);	}else{		window.onload = replaceAnchorLinks;	}

animated_scroll.html

<script type="text/javascript" src="animated_scroll.js"></script><div style="display:none" id="topo"><a href="#" name="topo" id="topo"></a></div><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><h1>asdf asdf</h1><p>safdasdf adsf asdfasdf</p><div><a href="#topo">Topo</a></div>

alguem saberia qual é o erro no codigo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala ae, no forum ievolutionweb o micox me passou um codigo bem mais simples que faz a mesma coisa e funciona nos dois navegadores!!!

 

segue o codigo:

function scrola($sobe_ou_desce){	if($sobe_ou_desce=='sobe'){		while(document.body.scrollTop>1){			window.scrollTo(0,document.body.scrollTop - 3);		}	}else{		while(document.body.scrollTop<document.body.scrollHeight - document.body.clientHeight){			window.scrollTo(0,document.body.scrollTop + 3);		}	}}

use: scrola('sobe') ou scrola('desce')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas...

 

Hao ja tinha visto esse codigo e parece interessante mas tem uma coisa.... como ele sabe onde tem de parar?

Através de anchors?

 

Abraço

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.