Avatar billede webbe Nybegynder
14. maj 2007 - 10:40 Der er 5 kommentarer og
1 løsning

Autoluk/skjul layer efter 6 sekunder

Hej eksperter

Hvordan får man et layer til at skjules efter 6 sekunder og hvordan kan jeg gøre dette lag transperent?

Jeg har følgende kode:

<script type="text/javascript">
function hideAd(divId)
{ if (document.layers) document.layers[divId].visibility = 'hide';
  else if (document.all) document.all[divId].style.visibility = 'hidden';
  else if (document.getElementById) document.getElementById(divId).style.visibility = 'hidden';
}

function adDown(divId)
{ state=typeof topPos;
  if(state=='undefined') topPos=-260;
  if(topPos < 75)
  { topPos+=3;
      if (document.layers) document.layers[divId].top = topPos;
    else if (document.all) document.all[divId].style.top = topPos;
    else if (document.getElementById) document.getElementById(divId).style.top = topPos;   
   
    setTimeout("adDown('pop');",25);
    }
}
</script>

Her viser jeg så mit lag:

<script type="text/javascript">
if (parseInt(navigator.appVersion) >= 4 && navigator.javaEnabled())
{ document.write('<div id="pop" style="position:absolute;top:200;">');
  document.write('<table cellpadding="0" cellspacing="2" bgcolor="" border="0"><tr><td><table cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" border="0">');
  //document.write('<tr><td align="right" height="24"></td></tr>');
    document.write('<tr><td align="center"><img src="images/stamp.png" /></td></tr>');
  document.write('</table></td></tr></table>');
  document.write('</div>');
 
  if (document.layers) document.layers.pop.left = ((window.innerWidth / 2) - (330 / 2));
  else if (document.all) document.all.pop.style.left = ((document.body.offsetWidth / 2) - (330 / 2));
  else if (document.getElementById) document.getElementById("pop").style.left = ((window.innerWidth / 2) - (330 / 2));
}
</script>
Avatar billede webbe Nybegynder
14. maj 2007 - 11:23 #1
Har fundet ud af at lave laget transperent nu, men mangler stadig at få det til at lukke efter 6 sekunder.

Bruger nu også et andet script jeg fandt:

<script type="text/javascript">

/***********************************************
* Sticky Note script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of DHTML scripts
* This notice must stay intact for legal use
* Go to http://www.dynamicdrive.com/ for full source code
***********************************************/

//Specify display mode. 3 possible values are:
//1) "always"- This makes the fade-in box load each time the page is displayed
//2) "oncepersession"- This uses cookies to display the fade-in box only once per browser session
//3) integer (ie: 5)- Finally, you can specify an integer to display the box randomly via a frequency of 1/integer...
// For example, 2 would display the box about (1/2) 50% of the time the page loads.

var displaymode="always"

var enablefade="yes" //("yes" to enable fade in effect, "no" to disable)
var autohidebox=["yes, 2"] //Automatically hide box after x seconds? [yes/no, if_yes_hide_after_seconds]
var showonscroll="yes" //Should box remain visible even when user scrolls page? ("yes"/"no)
var IEfadelength=1 //fade in duration for IE, in seconds
var Mozfadedegree=0.05 //fade in degree for NS6+ (number between 0 and 1. Recommended max: 0.2)

////////No need to edit beyond here///////////

if (parseInt(displaymode)!=NaN)
var random_num=Math.floor(Math.random()*displaymode)

function displayfadeinbox(){
var ie=document.all && !window.opera
var dom=document.getElementById
iebody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
objref=(dom)? document.getElementById("fadeinbox") : document.all.fadeinbox
var scroll_top=(ie)? iebody.scrollTop : window.pageYOffset
var docwidth=(ie)? iebody.clientWidth : window.innerWidth
docheight=(ie)? iebody.clientHeight: window.innerHeight
var objwidth=objref.offsetWidth
objheight=objref.offsetHeight
objref.style.left=docwidth/2-objwidth/2+"px"
objref.style.top=scroll_top+docheight/2-objheight/2+"px"

if (showonscroll=="yes")
showonscrollvar=setInterval("staticfadebox()", 50)

if (enablefade=="yes" && objref.filters){
objref.filters[0].duration=IEfadelength
objref.filters[0].Apply()
objref.filters[0].Play()
}
objref.style.visibility="visible"
if (objref.style.MozOpacity){
if (enablefade=="yes")
mozfadevar=setInterval("mozfadefx()", 90)
else{
objref.style.MozOpacity=1
controlledhidebox()
}
}
else
controlledhidebox()
}

function mozfadefx(){
if (parseFloat(objref.style.MozOpacity)<1)
objref.style.MozOpacity=parseFloat(objref.style.MozOpacity)+Mozfadedegree
else{
clearInterval(mozfadevar)
controlledhidebox()
}
}

function staticfadebox(){
var ie=document.all && !window.opera
var scroll_top=(ie)? iebody.scrollTop : window.pageYOffset
objref.style.top=scroll_top+docheight/2-objheight/2+"px"
}

function hidefadebox(){
objref.style.visibility="hidden"
if (typeof showonscrollvar!="undefined")
clearInterval(showonscrollvar)
}

function controlledhidebox(){
if (autohidebox[0]=="yes"){
var delayvar=(enablefade=="yes" && objref.filters)? (autohidebox[1]+objref.filters[0].duration)*1000 : autohidebox[1]*1000
setTimeout("hidefadebox()", delayvar)
}
}

function initfunction(){
setTimeout("displayfadeinbox()", 100)
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}


if (displaymode=="oncepersession" && get_cookie("fadedin")=="" || displaymode=="always" || parseInt(displaymode)!=NaN && random_num==0){
if (window.addEventListener)
window.addEventListener("load", initfunction, false)
else if (window.attachEvent)
window.attachEvent("onload", initfunction)
else if (document.getElementById)
window.onload=initfunction
document.cookie="fadedin=yes"
}


</script>

Her kalder jeg laget og funktionen:

<DIV id="fadeinbox" style="filter:progid:DXImageTransform.Microsoft.RandomDissolve(duration=1) progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135) ; -moz-opacity:0">

<img src="images/stamp_t.png" />

</DIV>
Avatar billede roenving Novice
14. maj 2007 - 14:00 #2
window.onload = function(){setTimeout("hidefadebox()",6000);};
Avatar billede webbe Nybegynder
14. maj 2007 - 14:15 #3
hvor skal jeg sætte det ind henne?
Avatar billede roenving Novice
14. maj 2007 - 15:54 #4
Inde i script-tagget, f.eks. lige før </script> !-)
Avatar billede webbe Nybegynder
15. maj 2007 - 08:11 #5
har rettet det en lille smule til, så din kode ser sådan ud:

function unloadlayer(){setTimeout("hidefadebox()",6000);};

og den funktion kalder jeg så i en onload i min body - og det virker finr i FireFox, men ikke i IE!!
Avatar billede webbe Nybegynder
14. august 2007 - 11:31 #6
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester