Jag gissar att detta är en javascript fråga. Detta är ingen JavaScriptfråga, fastän att det kommer att vara det till slut iallafall! :-/ Men funkar det inte i Explorer är det (i alla fall för mig) inte någon tänkbar lösning. Hej! Tackar. <code> Hej! Vid visning nederst, lägg även till: onload="topTimeout()" i body tagen: För att vara på säkra sidan, lägg även till onresize, så positionerar sig diven även vid storleksförändring av fönstret ännu bättre: Najz Onkelborg den varianten tycker jag fungerar bäst. Dessutom så kan man ha lite kul så att man gör en animations effekt av menyn så att den får hög hastighet mot målet, och sedan bromsar in och stannar precis rätt... Väldigt enkel kod egentligen...Tvinga ett layer ligga kvar vid scrollning?
Vill lägga en bild i ett layer som ska ligga på toppen av sidan, sedan vill jag att den bilden ska ligga kvar på samma ställe på skärmen oavsett om man scrollar i det dokumentet.
Hur löser jag detta?Sv: Tvinga ett layer ligga kvar vid scrollning?
Med CSS så kan man lösa det du vill.
<div style="position: fixed;">
Lite text
</div>
Fungerar naturligtvis finfint i Opera7 och Mozilla1.3, men inte i sunkiga IE6!
Om någon har en förklaring till varför inte IE stödjer position: fixed så ser jag fram emot att få höra den!Sv: Tvinga ett layer ligga kvar vid scrollning?
Finns det nån annan lösning?
Kan det lösas med javascript som ser till att lagret hamnar rätt hela tiden även när man scrollar?
(Därför som jag postade i denna då jag antog svaret skulle innehålla nån form av javascript).Sv: Tvinga ett layer ligga kvar vid scrollning?
Det här funkar finfint i IE.
<code>
<HTML><HEAD>
<script language=JavaScript>
<!--
function topTimeout()
{
topDiv.style.top= document.body.scrollTop;
}
//-->
</script>
</HEAD>
<BODY onscroll="topTimeout()">
<div id="backDiv" style="position:absolute; background-color:White; width:1000px; height:1000px;">
</div>
<div id="topDiv" style="position:absolute; top:0px; left:20px; background-color:Pink; width:200px; height:300px;">Alltid högst upp</div>
</BODY></HTML>
</code>Sv: Tvinga ett layer ligga kvar vid scrollning?
Hur blir syntaxen om jag på samma sätt vill ha ett lager längst ned på sidan, som ligger kvar då man scrollar?Sv: Tvinga ett layer ligga kvar vid scrollning?
<HTML><HEAD>
<script language=JavaScript>
<!--
function topTimeout()
{
topDiv.style.top= document.body.scrollTop + document.body.clientHeight - topDiv.clientHeight;
}
//-->
</script>
</HEAD>
<BODY onscroll="topTimeout()">
<div id="backDiv" style="position:absolute; background-color:White; width:1000px; height:1000px;">
</div>
<div id="topDiv" style="position:absolute; top:0px; left:20px; background-color:Pink; width:200px; height:300px;">Alltid högst upp</div>
</BODY></HTML
</code>
Ren gissning bara...Sv: Tvinga ett layer ligga kvar vid scrollning?
Verkar bra.
Jag måste däremot ha tänkt på nåt annat när jag döpte funktionen till "topTimeout"... :-)Sv: Tvinga ett layer ligga kvar vid scrollning?
<code>
<BODY onscroll="topTimeout()" onload="topTimeout()">
</code>
Annars läggs inte diven nederst förrän efter en scrollning genomförts, och jag antar att du vill ha den nederst på sidan redan vid första laddningen av sidan.Sv: Tvinga ett layer ligga kvar vid scrollning?
<code>
<BODY onscroll="topTimeout()" onload="topTimeout()" onresize="topTimeout()">
</code>Sv: Tvinga ett layer ligga kvar vid scrollning?
onLoad="setInterval('topTimeout()',75)"
och skippa onresize samt onscrollSv: Tvinga ett layer ligga kvar vid scrollning?
man har en hel del kvar att lära, som tur är :-)Sv: Tvinga ett layer ligga kvar vid scrollning?
<code>
var OldTopDiv //deklarera en global variabler, top egenskapen klarar inte decimaler
OldTopDiv= parseInt(document.body.scrollTop + document.body.clientHeight + document.all.topDiv.clientHeight) //Fyller variabeln med första värdet
document.all.topDiv.style.top = OldTopDiv //Sätter topDiv längst ner på sidan
function topTimeout() {
xyz = parseInt(document.body.scrollTop + document.body.clientHeight + document.all.topDiv.clientHeight) //Bestämmer målet...
temp3=(OldTopDiv+((xyz-OldTopDiv)/4)) //Räknar ut ny position, ändra gärna 4:an till något annat, bara ett förslag, det blir hastigheten skulle man kunna säga
OldTopDiv = temp3 //Sätter den gamla position till den aktuella
document.all.topDiv.style.top = Math.round(xyz) //Sätter topDiv på den uträknade positionen
}
</code>
Det borde fungera tycker jag, har fungerat för mig... (inte samma variabler då men...)