Ir para conteúdo
Fórum Script Brasil
  • 0

Pop Up Definido Por Tempo


mr.moreira

Pergunta

Amigos,

preciso fechar um pop up dps de um tempo exposto. COmo faço isso?

Não usei aqueles popups de janela que acho feio e chato. Além de ter o lance do bloqueio de pop up do explorer.

Fiz um popup em flash, fundo transparente.

Ele aparece quando você entra na página.

Pra fechar, você está sendo obrigado a clicar no X. Queria por um tempo limite de exposição. Alguém me ajuda?

Eis o código.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>teste do popup</title>

<script language="JavaScript">

<!--

<!--

function MM_reloadPage(init) { //reloads the window if Nav4 resized

if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

}

MM_reloadPage(true);

// -->

function MM_findObj(n, d) { //v4.01

var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];

for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);

if(!x && d.getElementById) x=d.getElementById(n); return x;

}

function MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v4.01

//Copyright 1998 Macromedia, Inc. All rights reserved.

var i,j,aLayer,retVal,curDrag=null,curLeft,curTop,IE=document.all,NS4=document.layers;

var NS6=(!IE&&document.getElementById), NS=(NS4||NS6); if (!IE && !NS) return false;

retVal = true; if(IE && event) event.returnValue = true;

if (MM_dragLayer.arguments.length > 1) {

curDrag = MM_findObj(objName); if (!curDrag) return false;

if (!document.allLayers) { document.allLayers = new Array();

with (document) if (NS4) { for (i=0; i<layers.length; i++) allLayers=layers;

for (i=0; i<allLayers.length; i++) if (allLayers.document && allLayers.document.layers)

with (allLayers.document) for (j=0; j<layers.length; j++) allLayers[allLayers.length]=layers[j];

} else {

if (NS6) { var spns = getElementsByTagName("span"); var all = getElementsByTagName("div");

for (i=0;i<spns.length;i++) if (spns.style&&spns.style.position) allLayers[allLayers.length]=spns;}

for (i=0;i<all.length;i++) if (all.style&&all.style.position) allLayers[allLayers.length]=all;

} }

curDrag.MM_dragOk=true; curDrag.MM_targL=targL; curDrag.MM_targT=targT;

curDrag.MM_tol=Math.pow(tol,2); curDrag.MM_hLeft=hL; curDrag.MM_hTop=hT;

curDrag.MM_hWidth=hW; curDrag.MM_hHeight=hH; curDrag.MM_toFront=toFront;

curDrag.MM_dropBack=dropBack; curDrag.MM_dropJS=dropJS;

curDrag.MM_everyTime=et; curDrag.MM_dragJS=dragJS;

curDrag.MM_oldZ = (NS4)?curDrag.zIndex:curDrag.style.zIndex;

curLeft= (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft;

if (String(curLeft)==NaN") curLeft=0; curDrag.MM_startL = curLeft;

curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop;

if (String(curTop)=="NaN") curTop=0; curDrag.MM_startT = curTop;

curDrag.MM_bL=(cL<0)?null:curLeft-cL; curDrag.MM_bT=(cU<0)?null:curTop-cU;

curDrag.MM_bR=(cR<0)?null:curLeft+cR; curDrag.MM_bB=(cD<0)?null:curTop+cD;

curDrag.MM_LEFTRIGHT=0; curDrag.MM_UPDOWN=0; curDrag.MM_SNAPPED=false; //use in your JS!

document.onmousedown = MM_dragLayer; document.onmouseup = MM_dragLayer;

if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);

} else {

var theEvent = ((NS)?objName.type:event.type);

if (theEvent == 'mousedown') {

var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;

var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;

var maxDragZ=null; document.MM_maxZ = 0;

for (i=0; i<document.allLayers.length; i++) { aLayer = document.allLayers;

var aLayerZ = (NS4)?aLayer.zIndex:parseInt(aLayer.style.zIndex);

if (aLayerZ > document.MM_maxZ) document.MM_maxZ = aLayerZ;

var isVisible = (((NS4)?aLayer.visibility:aLayer.style.visibility).indexOf('hid') == -1);

if (aLayer.MM_dragOk != null && isVisible) with (aLayer) {

var parentL=0; var parentT=0;

if (NS6) { parentLayer = aLayer.parentNode;

while (parentLayer != null && parentLayer.style.position) {

parentL += parseInt(parentLayer.offsetLeft); parentT += parseInt(parentLayer.offsetTop);

parentLayer = parentLayer.parentNode;

} } else if (IE) { parentLayer = aLayer.parentElement;

while (parentLayer != null && parentLayer.style.position) {

parentL += parentLayer.offsetLeft; parentT += parentLayer.offsetTop;

parentLayer = parentLayer.parentElement; } }

var tmpX=mouseX-(((NS4)?pageX:((NS6)?parseInt(style.left):style.pixelLeft)+parentL)+MM_hLeft);

var tmpY=mouseY-(((NS4)?pageY:((NS6)?parseInt(style.top):style.pixelTop) +parentT)+MM_hTop);

if (String(tmpX)=="NaN") tmpX=0; if (String(tmpY)=="NaN") tmpY=0;

var tmpW = MM_hWidth; if (tmpW <= 0) tmpW += ((NS4)?clip.width :offsetWidth);

var tmpH = MM_hHeight; if (tmpH <= 0) tmpH += ((NS4)?clip.height:offsetHeight);

if ((0 <= tmpX && tmpX < tmpW && 0 <= tmpY && tmpY < tmpH) && (maxDragZ == null

|| maxDragZ <= aLayerZ)) { curDrag = aLayer; maxDragZ = aLayerZ; } } }

if (curDrag) {

document.onmousemove = MM_dragLayer; if (NS4) document.captureEvents(Event.MOUSEMOVE);

curLeft = (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft;

curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop;

if (String(curLeft)=="NaN") curLeft=0; if (String(curTop)=="NaN") curTop=0;

MM_oldX = mouseX - curLeft; MM_oldY = mouseY - curTop;

document.MM_curDrag = curDrag; curDrag.MM_SNAPPED=false;

if(curDrag.MM_toFront) {

eval('curDrag.'+((NS4)?'':'style.')+'zIndex=document.MM_maxZ+1');

if (!curDrag.MM_dropBack) document.MM_maxZ++; }

retVal = false; if(!NS4&&!NS6) event.returnValue = false;

} } else if (theEvent == 'mousemove') {

if (document.MM_curDrag) with (document.MM_curDrag) {

var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;

var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;

newLeft = mouseX-MM_oldX; newTop = mouseY-MM_oldY;

if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL);

if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR);

if (MM_bT!=null) newTop = Math.max(newTop ,MM_bT);

if (MM_bB!=null) newTop = Math.min(newTop ,MM_bB);

MM_LEFTRIGHT = newLeft-MM_startL; MM_UPDOWN = newTop-MM_startT;

if (NS4) {left = newLeft; top = newTop;}

else if (NS6){style.left = newLeft; style.top = newTop;}

else {style.pixelLeft = newLeft; style.pixelTop = newTop;}

if (MM_dragJS) eval(MM_dragJS);

retVal = false; if(!NS) event.returnValue = false;

} } else if (theEvent == 'mouseup') {

document.onmousemove = null;

if (NS) document.releaseEvents(Event.MOUSEMOVE);

if (NS) document.captureEvents(Event.MOUSEDOWN); //for mac NS

if (document.MM_curDrag) with (document.MM_curDrag) {

if (typeof MM_targL =='number' && typeof MM_targT == 'number' &&

(Math.pow(MM_targL-((NS4)?left:(NS6)?parseInt(style.left):style.pixelLeft),2)+

Math.pow(MM_targT-((NS4)?top:(NS6)?parseInt(style.top):style.pixelTop),2))<=MM_tol) {

if (NS4) {left = MM_targL; top = MM_targT;}

else if (NS6) {style.left = MM_targL; style.top = MM_targT;}

else {style.pixelLeft = MM_targL; style.pixelTop = MM_targT;}

MM_SNAPPED = true; MM_LEFTRIGHT = MM_startL-MM_targL; MM_UPDOWN = MM_startT-MM_targT; }

if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS);

if(MM_dropBack) {if (NS4) zIndex = MM_oldZ; else style.zIndex = MM_oldZ;}

retVal = false; if(!NS) event.returnValue = false; }

document.MM_curDrag = null;

}

if (NS) document.routeEvent(objName);

} return retVal;

}

function MM_timelinePlay(tmLnName, myID) { //v1.2

//Copyright 1997 Macromedia, Inc. All rights reserved.

var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;

if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time

tmLn = document.MM_Time[tmLnName];

if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID

if (myID == tmLn.ID) { //if Im newest

setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);

fNew = ++tmLn.curFrame;

for (i=0; i<tmLn.length; i++) {

sprite = tmLn;

if (sprite.charAt(0) == 's') {

if (sprite.obj) {

numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];

if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range

keyFrm=1;

for (j=0; j<sprite.values.length; j++) {

props = sprite.values[j];

if (numKeyFr != props.length) {

if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];

else sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];

} else {

while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;

if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {

if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];

else sprite.obj[props.prop2][props.prop] = props[keyFrm-1];

} } } } }

} else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);

if (fNew > tmLn.lastFrame) tmLn.ID = 0;

} }

}

function MM_showHideLayers() { //v3.0

var i,p,v,obj,args=MM_showHideLayers.arguments;

for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args))!=null) { v=args[i+2];

if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }

obj.visibility=v; }

}

function MM_initTimelines() { //v4.0

//MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.

var ns = navigator.appName == "Netscape";

var ns4 = (ns && parseInt(navigator.appVersion) == 4);

var ns5 = (ns && parseInt(navigator.appVersion) > 4);

document.MM_Time = new Array(3);

document.MM_Time[0] = new Array(0);

document.MM_Time["Timeline1] = document.MM_Time[0];

document.MM_Time[0].MM_Name = "Timeline1";

document.MM_Time[0].fps = 6;

document.MM_Time[0].lastFrame = 0;

document.MM_Time[1] = new Array(0);

document.MM_Time["Timeline2"] = document.MM_Time[1];

document.MM_Time[1].MM_Name = "Timeline2";

document.MM_Time[1].fps = 15;

document.MM_Time[1].lastFrame = 0;

document.MM_Time[2] = new Array(0);

document.MM_Time["Timeline3"] = document.MM_Time[2];

document.MM_Time[2].MM_Name = "Timeline3";

document.MM_Time[2].fps = 15;

document.MM_Time[2].lastFrame = 0;

for (i=0; i<document.MM_Time.length; i++) {

document.MM_Time.ID = null;

document.MM_Time.curFrame = 0;

document.MM_Time.delay = 1000/document.MM_Time.fps;

}

}

//-->

</script>

</head>

<body>

<img src="twister_logo_1.jpg" width="606" height="700" />

<div id="POP" style="position:absolute; left:335px; top:220px; width:264px; height:247px; z-index:16">

<table width="100%" border="0" cellspacing="0" cellpadding="0" height="218">

<tr>

<td>

<table width="13%" border="0" cellspacing="0" cellpadding="0" height="17">

<tr>

<td width="13%" bgcolor="#FFFFFF"><img src="transparent.gif" width="5" height="10"></td>

<td width="46%" bgcolor="#FFFFFF">

<div align="left"><font face="Arial, Helvetica, sans-serif" size="2" color="#000000">fechar</font></div>

</td>

<td width="14%" bgcolor="#FFFFFF">

<div align="left"><img src="transparent.gif" width="10" height="10"></div>

</td>

<td width="10%" bgcolor="#FFFFFF"><a href="#"><img src="fechar.gif" width="8" height="8" onClick="MM_showHideLayers('POP','','hide')" border="0"></a></td>

<td width="17%" bgcolor="#FFFFFF"><img src="transparent.gif" width="5" height="10"></td>

</tr>

</table>

</td>

</tr>

<tr>

<tr>

<td valign="top"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="140" height="140" onMouseOver="MM_dragLayer('POP','',0,,0,0,true,false,-1,-1,-1,-1,false,false,0,'',false,'')">

<param name=movie value="popup.swf">

<param name=quality value=high>

<param name="wmode" value="Transparent">

<embed src="popup.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="140" height="140" wmode="transparent">

</embed>

</object></td>

</tr>

</body>

</html>

Se alguém precisar, coloco os arquivos no rapidshare.

Abraços e muito obrigado.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

ao invés de usar window.open você esta usando layers não é?!?

então assim, usa a funcao de tempo do js, e chama um metodo pra ocultar o layer.

<script language="javascript">

setTimeout( 'fechaSozinho()', 5000 );

function fechaSozinho() {

MM_showHideLayers();

}

</script>

eu não testei, se não funcionar, é algo bem proximo a isso.

sucesso ai.

t+

Link para o comentário
Compartilhar em outros sites

  • 0

Pow. é isso aí. Já tentei mas não funcionou.

estou tão louco com isso já, que não sei onde estou errando.

ao invés de usar window.open você esta usando layers não é?!?

então assim, usa a funcao de tempo do js, e chama um metodo pra ocultar o layer.

&lt;script language="javascript">

setTimeout( 'fechaSozinho()', 5000 );

function fechaSozinho() {

MM_showHideLayers();

}

</script>

eu não testei, se não funcionar, é algo bem proximo a isso.

sucesso ai.

t+

Link para o comentário
Compartilhar em outros sites

  • 0

você tem a função MM_showHideLayers(); ???

não axei ela no seu codigo

função MM_showHideLayers()

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

** ela foi criada pelo Dreamweaver **

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...