Avatar billede simonbk Nybegynder
31. juli 2006 - 19:38 Der er 7 kommentarer

Flyende menu i IE6

Er der nogen der ved hvordan man kan få følgende script med en flydende menu til at virke i IE6? Den virker i Firefox og Safari, men skulle meget gerne også virke i IE6 ;-)

http://www.simonkampmann.dk/andreas/float1.html

På forhånd tak.
Avatar billede mclemens Nybegynder
31. juli 2006 - 20:00 #1
Hvad med sådan noget her?



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
#followit{
position:absolute;top:10px;right:10px;
width:100px;border:1px solid #000;
}
</style>

<script type="text/javascript">
var tpops="bottom"; // "top" eller "bottom"
var tpopt=20; // Antal pixels fra top/bottom position
var rpops="right"; // "right" eller "left"
var rpopt=20; // Antal pixels fra right/left position
var trefval=10; // Antal ms. mellem alignment af div

var ww,wh,fi,fioh,fiow;

window.onload=function(){
ww=document.body.offsetWidth;
wh=(tmp=window.innerHeight)?tmp:document.documentElement.clientHeight;

tmp=document.getElementById("followit");
fi=tmp.style;fioh=tmp.offsetHeight;fiow=tmp.offsetWidth;
alignit(0);
setInterval("alignit(1);",trefval);
}

function alignit(tmp){
if(tmp==0){fi.top="auto";fi.right="auto";}

var dmcst=(tmenu=document.documentElement.scrollTop)?tmenu:document.body.scrollTop;
var dmcsl=(lmenu=document.documentElement.scrollLeft)?lmenu:document.body.scrollLeft;

tmpy=(tpops=="bottom")?wh-tpopt-fioh+dmcst:tpopt+dmcst;
tmpx=(rpops=="right")?ww-rpopt-fiow+dmcsl:rpopt+dmcsl;

fi.top=tmpy+"px";
fi.left=tmpx+"px";
}

</script></head>

<body onresize="alignit();" style="margin:0px;height:100%;">

<table style="width:100%;border:1px solid #000;"><tr><td>Test start<br><div style="height:700px;">&nbsp;</div><br>Test slut</td></tr></table>

<div id="followit">Test</div>

</body></html>
Avatar billede mclemens Nybegynder
31. juli 2006 - 20:01 #2
Avatar billede mclemens Nybegynder
31. juli 2006 - 20:02 #3
Uhm, ok ser det nu - du skal nok bruge det flyde halløjsa...
Avatar billede mclemens Nybegynder
31. juli 2006 - 20:13 #4
Hmm, kan ikke finde noget om at scriptet må rettes - så det holder jeg mig lige
fra ... alternativet hvis man ikke må rette hans script er at lægge noget slowdown alignment på den jeg har istedet for omgående placering ...
Avatar billede mclemens Nybegynder
31. juli 2006 - 20:44 #5
Måske noget i denne stil - og så en udvidelse af markup'en i den div :o)




<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
#followit{
position:absolute;top:10px;right:10px;
width:100px;border:1px solid #000;
}
</style>

<script type="text/javascript">
var tpops="bottom"; // "top" eller "bottom"
var tpopt=20; // Antal pixels fra top/bottom position
var rpops="right"; // "right" eller "left"
var rpopt=20; // Antal pixels fra right/left position
var trefval=10; // Antal ms. mellem alignment af div
var tposoffset=3; // antal px der skal flyttes pr. interval

var ww,wh,fi,fioh,fiow;

window.onload=function(){
ww=document.body.offsetWidth;
wh=(tmp=window.innerHeight)?tmp:document.documentElement.clientHeight;

tmp=document.getElementById("followit");
fi=tmp.style;fioh=tmp.offsetHeight;fiow=tmp.offsetWidth;
alignit(0);
setInterval("alignit(1);",trefval);
}

function alignit(tmp){
if(tmp==0){fi.top="auto";fi.right="auto";}

var dmcst=(tmenu=document.documentElement.scrollTop)?tmenu:document.body.scrollTop;
var dmcsl=(lmenu=document.documentElement.scrollLeft)?lmenu:document.body.scrollLeft;

tmpy=(tpops=="bottom")?wh-tpopt-fioh+dmcst:tpopt+dmcst;
tmpx=(rpops=="right")?ww-rpopt-fiow+dmcsl:rpopt+dmcsl;

fi.left=tmpx+"px";

if(tmp!=0){

fiy=fi.top.replace("px","");

if((+fiy+tposoffset)<tmpy)fi.top=(+fiy+tposoffset)+"px";

else if((+fiy+(tposoffset*-1))>tmpy)fi.top=(+fiy+(tposoffset*-1))+"px";

else fi.top=tmpy+"px";

}

else{
fi.top=tmpy+"px";
}


}

</script></head>

<body onresize="alignit();" style="margin:0px;height:100%;">

<table style="width:100%;border:1px solid #000;"><tr><td>Test start<br><div style="height:700px;">&nbsp;</div><br>Test slut</td></tr></table>

<div id="followit">Test</div>

</body></html>
Avatar billede mclemens Nybegynder
31. juli 2006 - 21:27 #6
Forbedret en gang så der er styr på horisontal scrolling også :o)



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
#followit{
position:absolute;top:10px;right:10px;
width:100px;border:1px solid #000;
}
</style>

<script type="text/javascript">
var tpops="bottom"; // "top" eller "bottom"
var tpopt=20; // Antal pixels fra top/bottom position
var rpops="right"; // "right" eller "left"
var rpopt=20; // Antal pixels fra right/left position
var trefval=10; // Antal ms. mellem alignment af div
var tposoffset=5; // antal px der skal flyttes pr. interval

var ww,wh,fi,fioh,fiow;

window.onload=function(){
ww=(tmp=window.innerWidth)?tmp:document.documentElement.clientWidth;
wh=(tmp=window.innerHeight)?tmp:document.documentElement.clientHeight;

tmp=document.getElementById("followit");
fi=tmp.style;fioh=tmp.offsetHeight;fiow=tmp.offsetWidth;
alignit(0);
setInterval("alignit(1);",trefval);
}

function alignit(tmp){
if(tmp==0){fi.top="auto";fi.right="auto";}

var dmcst=(tmenu=document.documentElement.scrollTop)?tmenu:document.body.scrollTop;
var dmcsl=(lmenu=document.documentElement.scrollLeft)?lmenu:document.body.scrollLeft;

tmpy=(tpops=="bottom")?wh-tpopt-fioh+dmcst:tpopt+dmcst;
tmpx=(rpops=="right")?ww-rpopt-fiow+dmcsl:rpopt+dmcsl;



if(tmp!=0){

fiy=fi.top.replace("px","");
fix=fi.left.replace("px","");

if((+fiy+tposoffset)<tmpy)fi.top=(+fiy+tposoffset)+"px";
else if((+fiy+(tposoffset*-1))>tmpy)fi.top=(+fiy+(tposoffset*-1))+"px";
else fi.top=tmpy+"px";

if((+fix+tposoffset)<tmpx)fi.left=(+fix+tposoffset)+"px";
else if((+fix+(tposoffset*-1))>tmpx)fi.left=(+fix+(tposoffset*-1))+"px";
else fi.left=tmpx+"px";

}

else{
fi.top=tmpy+"px";
fi.left=tmpx+"px";
}


}

</script></head>

<body onresize="alignit();" style="margin:0px;height:100%;">

<table style="width:100%;border:1px solid #000;"><tr><td>Test startaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavaaa<br><div style="height:700px;">&nbsp;</div><br>Test slut</td></tr></table>

<div id="followit">Test</div>

</body></html>
Avatar billede mclemens Nybegynder
31. juli 2006 - 21:55 #7
Virker den i safari ?
- IE og FF ok her...
(har ikke selv en mac)

<div id="followit">Test</div>
^ - I den div lægger du din menu :o)
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