Visa signatur
Desktop: Ryzen 9 3950x | RTX 2060 | 16Gb RAM | 512Gb + 256Gb SSD
NAS: HP Microserver Gen8 | 8GB Ram | 3x2Tb ZFS | FreeNAS
SRV: HP ML350p Gen8 | 64GB Ram | 2x E5-2630v2 | ESXI
Jag har en bit kod på min sida som visar/gömmer en div
JS
function viewer_toggleWindow(id) {
var c = document.getElementById(id);
if( c == null ) { return; }
if( c.style.display === "block" ) {
c.style.display = "none";
} else {
c.style.display = "block";
}
}
HTML
<div id="content">
...
<span onclick="viewer_toggleWindow('myWindow1')">Window 1</span>
<div id="myWindow1">...</div>
<div id="OtherStuff">...</div>
</div>
Alla divs är har position: Absolute och OtherStuff är min "main" div där den mesta info finns och den div som kan scrolla. Problemet är att när jag gömmer myWindow1 så återgår OtherStuff till början av scrollningen. Men det går bra att visa den oavsett vart i scrollningen OtherStuff är.
Desktop: Ryzen 9 3950x | RTX 2060 | 16Gb RAM | 512Gb + 256Gb SSD
NAS: HP Microserver Gen8 | 8GB Ram | 3x2Tb ZFS | FreeNAS
SRV: HP ML350p Gen8 | 64GB Ram | 2x E5-2630v2 | ESXI
Det här är ett CSS-problem, inte ett JavaScript-problem.
Har du position relative på #content eller någon annan av föräldrarna? Om du inte har det, är positionen absolut till fönstret och inte föräldern med scrollen.
När du döljer en div kommer storleken på #content förändras och därför kommer #OtherStuff flyttas i förhålande till fönstret.
Copyright © 1999–2023 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.