Ir para conteúdo

POWERED BY:

Arquivado

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

Tyron

Menu / Div flutuante (acompanha scroll da janela)

Recommended Posts

Olá,

 

Já vi um tópico sobre esse script aqui e em outros fóruns, mas nenhum deles explica o que eu preciso... Estou usando o código abaixo para fazer um menu que acompanha a tela quando desce, mas para isso eu insiro o código na própria página. Eu quero colocar esse código dentro de um js, mas ele não chama corretamente o script daí...

Eis o código:

 

var posvertical="topo"function menufloat()	{var startX = 1,startY = 165;var ns = (navigator.appName.indexOf("Netscape") != -1);var d = document;	function ml(id)		{			 				   var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];	   if(d.layers){el.style=el;}		  el.sP=function(x,y){this.style.left=x;this.style.top=y;};		  el.x = startX;	   if (posvertical=="rodape"){		  el.y = startY;}	   else{		  el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;		  el.y -= startY;			}	 	  return el;		  		}window.stayTopLeft=function(){   if (posvertical=="topo"){	  var pY = ns ? pageYOffset : document.body.scrollTop;	  ftlObj.y += (pY + startY - ftlObj.y)/2;   }   else{	  var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;	  ftlObj.y += (pY - startY - ftlObj.y)/2;   }	  ftlObj.sP(ftlObj.x, ftlObj.y);	  setTimeout("stayTopLeft()", 10);}	 	  ftlObj = ml("fixacam");	  	  stayTopLeft();   }	  menufloat();
Quando colo isso em um js e executo na página usando a função menufloat(); ele me retorna: " 'null' é nulo ou não é um objeto ".

 

Alguém consegue me ajudar??

 

Desde já, muito obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda, mas segue dando o mesmo erro..

 

Eu fiz vários testes, colocando alerts, e desobri que:

O script passa duas vezes por

function ml(id)		{			 				   var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];	   if(d.layers){el.style=el;}		  el.sP=function(x,y){this.style.left=x;this.style.top=y;};		  el.x = startX;	   if (posvertical=="rodape"){		  el.y = startY;}	   else{		  el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;		  el.y -= startY;			}		   return el;		  		}

Na primeira vez que ele passa, ele assume que o "el" vale 'null'. Entretanto, na segunda vez, ele intende que "el" vale o "[object]" correto.

 

Se alguém mais suber alguma coisa que possa ajudar.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, copiei o seu codigo, do primeiro post, coloquei o menufloat() no onload, e funcionou corretamente,e criei um div com position: absolute, e id="fixacam"Falou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o problema.. Estava dando um include no php e esquecendo de ativar com o onload..Obrigado a todos que ajudaram..

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.