webForumDet fria alternativet

Dölja lager som inte reserverar yta??

HTML & CSS

8 svar · 509 visningar · startad av evilaid

Medlem sedan apr. 2009433 inlägg
Frågan#1

Hej

Tror det står still i huvudet på mig nu..
det är så att jag har ett dolt lager och när jag visar det mha av javascript så ska allt text under denna flyttas nedåt. Som det är nu så är den yta där det dolda lagret är redan reserverad. Alltså en tomt utrymme.. detta vill jag komma ifrån..
Ex
<div id="div1"><a href="#" onclick="show('div2')">Visa ext</a></div>
<div id="div2" style="visibility:hidden;">osynligt</div>
<div id="div3">detta ska flyttas ned...</div>

I detta ex syns inte div2 men men utrymmet är ju upptaget på sidan, jag vill att utrymmet endast ska användas när lagret visas, alltså så att div3 flttas ned när div2 visas??

Mvh

Medlem sedan jan. 2005953 inlägg
#2

Använd display: block resp display: none istället för visibility

Medlem sedan juni 200032 967 inlägg
#3

display:none; resp. display:block; istället för visibility.

Medlem sedan juni 200032 967 inlägg
#4

Hmm. Jag är tydligen rätt enig med metalboy i ämnet. ;)

Medlem sedan apr. 2009433 inlägg
#5

precis så, vet inte varför men jag har inte använt display på väldigt länge. Hur är tanken igentligen med display och visibility?

Har en kompletterande fråga också.
NU se koden ut så här (endast test)

<script language="Javascript">
function show(layer)	{
document.getElementById(layer).style.display="block"
}
function hide(layer)	{
document.getElementById(layer).style.display="none"
}
</script>
<body>
<div id="div1"><a href="#" onclick="" onMouseover="show('div2')" onmouseout="hide('div2')">Visa ext</a></div>
<div id="div2" style="display:none; onMouseover="show('div2')" onmouseout="hide('div2')" 	position:inherit">osynligt</div>
<div id="div3">detta ska flyttas ned...</div>

Jag vill ju att om musen förs över div1 så visas div2, och så länge musen är över div2 så ska den visas men för man musen ut från div1 eller div2 så ska div2 döljas. som det är nu så försvinner ju div2 så fort marlören försvinner från div1. Ska jag ha någon timer eller likanande som gör att att div2 visas även när markören flyttas från div1 till div2 ??
Elle någon annan idé?

Mvh

Medlem sedan juni 20019 519 inlägg
#6

visible så visas bara inte elementet, display är vad den är för typ, inline, block osv bete sig olika beroende på vad du kör, om du vill att din kod skall fungera så måste du ha #div2 inne i #div1 för ananrs så för du ju ut din mus bort från #div1.

Medlem sedan apr. 2009433 inlägg
#7

hahahh, då förtår jag.. Tänkte hyfsat fel där.. Men tack för ni hjälpte en virrig själ...

Medlem sedan juni 20031 837 inlägg
#8

Följande rad ser fel ut. Du har slängt in onMouseOver samt onMouseOut i style-attributet.

<div id="div2" style="display:none; onMouseover="show('div2')" onmouseout="hide('div2')" 	position:inherit">osynligt</div>

det borde vara

<div id="div2" style="display:none; position:inherit" onMouseover="show('div2')" onmouseout="hide('div2')">osynligt</div>
Medlem sedan apr. 2009433 inlägg
#9

japp, har ändrat om det...

Tack för tipset!

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)