• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

_bernardo_

ScrollBar

4 mensagens neste tópico

Boas...

Gostava de saber se em HTML dá para fazer as animações correr para cima ou para baixo conforme se

mexe a barra do scrol

Se der em HTML expliquem-me como sff....

Fiquem Bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por exmplo tenho um banner do num dos lados da página e queria que quando o utilizador arrasta-se o scrol para ver + para baixo

o banner acompanha-se....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em css, tenho tido alguns problemas para que funcione correctamente em todos os browsers... em js, tenho isto:

<style type="text/css">

.dockclass{
position:relative;
}

</style>

<body>

<script type="text/javascript">

/***********************************************
* Dock Content script- Created by and © Dynamicdrive.com
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full script
***********************************************/

var offsetfromedge=0      //offset from window edge when content is "docked". Change if desired.
var dockarray=new Array() //array to cache dockit instances
var dkclear=new Array()   //array to cache corresponding clearinterval pointers

function dockit(el, duration){
this.source=document.all? document.all[el] : document.getElementById(el);
this.source.height=this.source.offsetHeight;
this.docheight=truebody().clientHeight;
this.duration=duration;
this.pagetop=0;
this.elementoffset=this.getOffsetY();
dockarray[dockarray.length]=this;
var pointer=eval(dockarray.length-1);
var dynexpress='dkclear['+pointer+']=setInterval("dockornot(dockarray['+pointer+'])",100);';
dynexpress=(this.duration>0)? dynexpress+'setTimeout("clearInterval(dkclear['+pointer+']); dockarray['+pointer+'].source.style.top=0", duration*1000)' : dynexpress;
eval(dynexpress);
}

dockit.prototype.getOffsetY=function(){
var totaloffset=parseInt(this.source.offsetTop);
var parentEl=this.source.offsetParent;
while (parentEl!=null){
totaloffset+=parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function dockornot(obj){
obj.pagetop=truebody().scrollTop;
if (obj.pagetop>obj.elementoffset) //detect upper offset
obj.source.style.top=obj.pagetop-obj.elementoffset+offsetfromedge+"px";
else if (obj.pagetop+obj.docheight<obj.elementoffset+parseInt(obj.source.height)) //lower offset
obj.source.style.top=obj.pagetop+obj.docheight-obj.source.height-obj.elementoffset-offsetfromedge+"px";
else
obj.source.style.top=0;
}

function truebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

</script>

o que tens a fazer é colocar o conteúdo que queres dentro de uma div:

<div id="dockcontent0" class="dockclass">This DIV content is docked</div>
Docked image: <img src="test.gif" id="dockcontent1" class="dockclass" />

mesmo antes do </body>, colocas:

<script type="text/javascript">
var dock0=new dockit("dockcontent0", 0);
var dock1=new dockit("dockcontent1", 0);
</script>

em que o dockcontent0 é o nome da class que deste anteriormente à div e o numero a seguir é o tempo que a div se mantém fixa: 0 para permanente ou outro valor em segundos...

dock0 (ou outro nome qualquer) tem de ser um nome unico e tens de criar um para cada div fixo que queiras...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora