webForumDet fria alternativet

Layer vill inte "försvinna"

JavaScript

7 svar · 297 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Frågan#1

Jag har ett layer som jag vill skall dyka upp mitt emellan två textmassor när man klickar på en knapp. Inget svårt, förutom att jag även vill att detta layer skall ta det utrymme den behöver (och inte lägga sig över allt annat) samt att den inte skall ta någon plats alls när det är dolt.

Svårt? Här är iaf lite ryckt kod:

<input type="radio" name="newkund" value="1" checked onClick="show('lyrKontakta');">

<font face="verdana">Lite text här</font>
   <div id="lyrKontakta" style="visibility:hidden;">
      Mitt lager
   </div>
<font face="verdana">Lite mertext här</font>

show() är en funktion som aktiverar lagret, ligger i en .js-fil.

Medlem sedan juni 20004 308 inlägg
#2

Då faller din "container" (div) inte längre inom definitionen "lager", eftersom det är vad man brukar kalla ett löst flytande block (position:absolute;) som alltså ligger ovanför text-flödet på sidan. Det du bör använda är istället en inline-container (<span>) eftersom texten skall ligga i den löpande texten. En sådan använder du då istället egenskapen "display" som du växlar värde mellan "inline" och "none", så här:

<form>
<input type="checkbox" name="newkund" value="1" onClick="document.getElementById('lyrKontakta').style.display=(this.checked)?'inline':'none';">
</form>

<font face="verdana">Lite text här
   <span id="lyrKontakta" style="display:none;">
      Min inline-text
   </span>
Lite mertext här</font>
Medlem sedan feb. 200112 078 inlägg
#3

Hrm. Jag kan få den att försvinna om jag sätter den som 'inline' från början, men den kommer minnsan inte fram igen. :)

Är du säker på att det här är rätt?

..this.checked)?'inline':'none';">
Medlem sedan mars 20015 287 inlägg
#4

För mig fungerar Jojoxx exempelkod klockrent. (IE 6)

Medlem sedan feb. 200112 078 inlägg
#5

Inte så konstigt, det var ju jag som placerade anropet i en onClickevent. Och då funkar knappast this.checked så bra.. :r

Tack, forumgranne. :)

Medlem sedan feb. 200112 078 inlägg
#6

Mer problem. :)

<img src="gfx/hide.gif" border="0" onClick="document.getElementById('watermark').style.visibility=(document.getElementById('watermark').style.visibility)?'visible':'hidden';">

Jag kan få bort det en gång, och även (när jag klickar igen på bilden) få fram den. Men när jag klicka en tredje gång, händer det ingenting.

Jag vill att ett layer skall växla mellan visible/hidden, med hjälp av ett klick på samma knapp.

Medlem sedan juni 20004 308 inlägg
#7

Prova med;

<img src="gfx/hide.gif" border="0" onClick="document.getElementById('watermark').style.visibility=(document.getElementById('watermark').style.visibility=='hidden')?'visible':'hidden';">

Villkorsstyrda tilldelningar;

variabel=(testtryck)?'värde om uttrycket är sant':'värde om uttrycket är sant';

Exempel;

solen="skiner"

man_kan=(solen=="skiner")="Sola sig":"Inte sola sig";

Medlem sedan feb. 200112 078 inlägg
#8

Tack det fungerar! :)

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