PUBLICIDADE
Este código tem nota
7,2

Autor

ricardo

Ricardo Henrique da Silva Braga

membro deste dezembro de 2006

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

Com que frequência você acessa o CódigoFonte.com.br?

PopUp feito com Div que segue a página


Efeito muito utilizado para propagandas em sites. Contendo uma Div no estilo de janela Popup que flutua sobre o conteúdo da página, com botão para fechar e animação que acompanha a página de acordo com o scroll.
<SCRIPT language=javascript>

	function closeDiv() {
		document.getElementById('floatLayer').style.left = "-1000";
		return false;
	}

	window.onerror = null;
	//VALOR DE 75 ABAIXO É A POSIÇÃO ACIMA E ABAIXO DA JANELA//
	var topMargin = 75;
	var slideTime = 1000;
	var ns6 = (!document.all && document.getElementById);
	var ie4 = (document.all);
	var ns4 = (document.layers);

	function layerObject(id,left) {
		if (ns6) {
			this.obj = document.getElementById(id).style;
			this.obj.left = left;
			return this.obj;
			}
		else if(ie4) {
			this.obj = document.all[id].style;
			this.obj.left = left;
			return this.obj;
			}
		else if(ns4) {
			this.obj = document.layers[id];
			this.obj.left = left;
			return this.obj;
			}
		}

	function layerSetup() {
		floatLyr = new layerObject('floatLayer', pageWidth * .2);
		window.setInterval("main()", 10)
		}

	function floatObject() {
		if (ns4 || ns6) {
			findHt = window.innerHeight;
		} else if(ie4) {
			findHt = document.body.clientHeight;
		   }
		}

	function main() {
		if (ns4) {
			this.currentY = document.layers["floatLayer"].top;
			this.scrollTop = window.pageYOffset;
			mainTrigger();
			}
		else if(ns6) {
			this.currentY = parseInt(document.getElementById('floatLayer').style.top);
			this.scrollTop = scrollY;
			mainTrigger();
		} else if(ie4) {
			this.currentY = floatLayer.style.pixelTop;
			this.scrollTop = document.body.scrollTop;
			mainTrigger();
		   }
		}

	function mainTrigger() {
		var newTargetY = this.scrollTop + this.topMargin;
		if ( this.currentY != newTargetY ) {
			if ( newTargetY != this.targetY ) {
				this.targetY = newTargetY;
				floatStart();
			}
			animator();
			}
		}

	function floatStart() {
		var now = new Date();
		this.A = this.targetY - this.currentY;
		this.B = Math.PI / ( 1 * this.slideTime );
		this.C = now.getTime();
		if (Math.abs(this.A) > this.findHt) {
			this.D = this.A > 0 ? this.targetY - this.findHt : this.targetY + this.findHt;
			this.A = this.A > 0 ? this.findHt : -this.findHt;
			}
		else {
			this.D = this.currentY;
		   }
		}

	function animator() {
		var now = new Date();
		var newY = this.A * Math.sin( this.B * ( now.getTime() - this.C ) ) + this.D;
		newY = Math.round(newY);
		if (( this.A > 0 && newY > this.currentY ) || ( this.A < 0 && newY < this.currentY )) {
		if ( ie4 )document.all.floatLayer.style.pixelTop = newY;
		if ( ns4 )document.layers["floatLayer"].top = newY;
		if ( ns6 )document.getElementById('floatLayer').style.top = newY + "px";
		   }
		}

	function start() {
		if(ns6||ns4) {
			pageWidth = innerWidth;
			pageHeight = innerHeight;
			layerSetup();
			floatObject();
			}
		else if(ie4) {
			pageWidth = document.body.clientWidth;
			pageHeight = document.body.clientHeight;
			layerSetup();
			floatObject();
		   }
		}
</SCRIPT>
<DIV id=floatLayer style="LEFT: -1000px; WIDTH:300px; POSITION: absolute; TOP: 3px; 200: 128px; BACKGROUND-COLOR: #FFFFFF">
<!--VALOR DE 300 E 300 ACIMA É O TAMANHO DA JANELA-->
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#FFFFFF" width="300" height="300">
  <tr  height="30">
    <td border="3" align="right" bgcolor="#f4f4e8" colspan="4">
     <b><font size="1" face="Verdana" color="#0000FF">Fechar</font></b><A onclick="return closeDiv()"
      href=""><b><FONT size="1" face="Verdana" color="#0000FF">[X]</FONT></b></A>

    </td>
  </tr>
  <tr>
    <td border="1" align="center" bgcolor="#f4f4e8" colspan="4">
    <a href="http://www.codigofonte.com.br" target="_blank">
    <img
src="http://www.codigofonte.com.br/img/logo.gif" alt="Codigo Fonte" border="0" ></a>
    </td>
  </tr>
</table>
     </DIV>

<SCRIPT>start()</SCRIPT>

Sim   Não   Este código foi útil para você?
NotaComentário
10
adonai comentou em 14/11/2008

Muito bom.

Gostei muito. Parabéns! Está sendo muito útil.
6
carutcho comentou em 11/2/2008

Código Novo

Esse código é muito antigo,
ele é da época da briga entre netscape e ie4,
eu dei uma pequena reformulada nele para ficar mais atualizado.Quem quiser o codigo novo só entrar em contato comigo, ou se o gm quiser eu posto para por no site. abs..
6
senainfo comentou em 23/8/2007

Erro de Código

Na linha onde consta este trecho do código
else if(ie4) {
this.obj = document.all[id].style;
this.obj.left = left;
return this.obj;
}
tem um erro que é aparente apenas no IE.
Sou novato no site, não consegui identificar este erro.
8
pabloh comentou em 10/8/2007

sobre menu popUp

Gostaria de uma explicação, fui colocar o menu popUp e funcionou normal , só que fca por baixo dos banners do site, os banners estaum em camadas , mesmo
6
cachoeira comentou em 14/5/2007

Uma dúvida

Porque quando colocado no site o PopUp fica por baixo das animações que são feitas em flash. Mas o script é muito útil
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.