Håller på med en drop-down meny där "huvudvalen" ska ligga i en frame och undermenyerna ska komma upp i en annan frame.
Har kommit så långt att allt funkar som jag vill utom att när sidan där undermenyerna ska komma upp i är "nerscrollad" typ till hälften så funkar ju det inte med att sätta "top:5px;" på div:en.
Hur gör man för att få reda på hur mycket sidan är scrollad så man kan addera det med standardvärdet?
Hjälp med meny i två frames
2 svar · 263 visningar · startad av Obbelix
Moderna webbläsare (Mozilla-baserade samt Opera) har stöd för CSS-attributet position: fixed, vilket gör att ett element ligger kvar på en plats hur dokumentet än skrollas.
Tyvärr använder de flesta en omodern webbläsare (Internet Explorer) vilket gör att man måste göra en special lösning för dem. Den består i att läsa av document.body.scrollTop och addera den till top-värdet om Internet Explorer används, samt att sätta position: fixed; om Internet Explorer används. Här är lite exempelkod.
<style type="text/css">
.menuclass {position: fixed; left: 50px; top: 0px; background: green;}
</style>
<script type="text/javascript">
function fixMenu(){
if (document.getElementById("menuid").style.position!="absolute")
document.getElementById("menuid").style.position="absolute";
document.getElementById("menuid").style.top = (document.body.scrollTop+5) + "px"
}
window.onload = function(){
if (document.all && !window.opera){
window.onscroll = fixMenu;
fixMenu();
}else{
document.getElementById("menuid").style.position="fixed";
}
}
</script>
Tackar!