Avatar billede avminarm Juniormester
21. oktober 2005 - 08:27 Der er 12 kommentarer og
2 løsninger

vis-skjul - problemer med at få default side vist først

Hej

Jeg har hentet dette script på phoenixv's side, men jeg ville gerne have div0 som default - dvs hver gang siden loades 1. gang skal div0 vises - MEN når der trykkes på et af de andre links skal den IKKE vises - hvordan gør jeg det?


<script type="text/javascript">
foer = null;
foerpil = null;

function fold(id, pilnavn) {
  obj = document.getElementById(id);
  if (foer != null && foer != obj) {
    foer.style.display = "none";
    pil(foer, foerpil);
  }
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
  pil(obj, pilnavn);
  foer = obj;
  foerpil = pilnavn;
}

function pil(obj, navn) {
  document.images[navn].src = (obj.style.display == "inline") ? "pil_ned.gif" : "pil_hojre.gif";
}
</script>



<a href="#" onclick="fold('div1', 'pil1'); return false;">Menupunkt 1</a> <img src="pil_hojre.gif" name="pil1" />
<a href="#" onclick="fold('div2', 'pil2'); return false;">Menupunkt 2</a> <img src="pil_hojre.gif" name="pil2" />
<a href="#" onclick="fold('div3', 'pil3'); return false;">Menupunkt 3</a> <img src="pil_hojre.gif" name="pil3" />
<div id="div1" style="display: none;">
<br />Dette er den skjulte tekst for punkt 1.
</div>

<div id="div2" style="display: none;">
<br />Dette er den skjulte tekst for punkt 2 - TA dA.
</div>

<div id="div3" style="display: none;">
<br />Dette er den skjulte tekst for punkt 3.
</div>

<div id="div0" style="display: inline;">
<br />
Dette er bare den almindelige tekst
</div>
Avatar billede roenving Novice
22. oktober 2005 - 04:39 #1
Måske sådan:

<script type="text/javascript">
foer = null;
foerpil = null;

function fold(id, pilnavn) {
  obj = document.getElementById(id);
  if (foer != null && foer != obj) {
    foer.style.display = "none";
    if(foerpil)pil(foer, foerpil);
  }
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
  pil(obj, pilnavn);
  foer = obj;
  foerpil = pilnavn;
}

function pil(obj, navn) {
  document.images[navn].src = (obj.style.display == "inline") ? "pil_ned.gif" : "pil_hojre.gif";
}
</script>

<a href="#" onclick="fold('div1', 'pil1'); return false;">Menupunkt 1</a> <img src="pil_hojre.gif" name="pil1" />
<div id="div1" style="display: none;">
<br />Dette er den skjulte tekst for punkt 1.
</div>

<a href="#" onclick="fold('div2', 'pil2'); return false;">Menupunkt 2</a> <img src="pil_hojre.gif" name="pil2" />
<div id="div2" style="display: none;">
<br />Dette er den skjulte tekst for punkt 2 - TA dA.
</div>

<a href="#" onclick="fold('div3', 'pil3'); return false;">Menupunkt 3</a> <img src="pil_hojre.gif" name="pil3" />
<div id="div3" style="display: none;">
<br />Dette er den skjulte tekst for punkt 3.
</div>

<div id="div0" style="display: inline;">
<br />
Dette er bare den almindelige tekst
</div>
Avatar billede avminarm Juniormester
22. oktober 2005 - 08:13 #2
roenving>> nej ikke helt sådan - når man kommer ind på siden første gang skal div0 være vist - når man så klikker på et af menupunkterne skal div0 IKKE vises mere - men derimod skal den div der er klikket på vises og klikker man på et nyt menu punkt skal KUN dette vises.
Avatar billede roenving Novice
22. oktober 2005 - 23:13 #3
Tjah, men så er det vel sådan:

<script type="text/javascript">
window.onload = function() {
  foer = document.getElementById('div0');
}
foerpil = null;

function fold(id, pilnavn) {
  obj = document.getElementById(id);
  if (foer != null && foer != obj) {
    foer.style.display = "none";
    if(foerpil)pil(foer, foerpil);
  }
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
  pil(obj, pilnavn);
  foer = obj;
  foerpil = pilnavn;
}

function pil(obj, navn) {
  document.images[navn].src = (obj.style.display == "inline") ? "pil_ned.gif" : "pil_hojre.gif";
}
</script>

<a href="#" onclick="fold('div1', 'pil1'); return false;">Menupunkt 1</a> <img src="pil_hojre.gif" name="pil1" />
<div id="div1" style="display: none;">
<br />Dette er den skjulte tekst for punkt 1.
</div> <br>

<a href="#" onclick="fold('div2', 'pil2'); return false;">Menupunkt 2</a> <img src="pil_hojre.gif" name="pil2" />
<div id="div2" style="display: none;">
<br />Dette er den skjulte tekst for punkt 2 - TA dA.
</div> <br>

<a href="#" onclick="fold('div3', 'pil3'); return false;">Menupunkt 3</a> <img src="pil_hojre.gif" name="pil3" />
<div id="div3" style="display: none;">
<br />Dette er den skjulte tekst for punkt 3.
</div> <br>

<div id="div0" style="display: inline;">
<br />
Dette er bare den almindelige tekst
</div>
Avatar billede avminarm Juniormester
23. oktober 2005 - 08:56 #4
fint det virker - men sigmig lige er er nogen problemer i at bygge det op sådan her - jeg tænker på i relation til at div'erne jo faktisk lægger sig oven i hinanden??

<script type="text/javascript">
window.onload = function() {
  foer = document.getElementById('div0');
}
foerpil = null;

function fold(id, pilnavn) {
  obj = document.getElementById(id);
  if (foer != null && foer != obj) {
    foer.style.display = "none";
    if(foerpil)pil(foer, foerpil);
  }
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
  pil(obj, pilnavn);
  foer = obj;
  foerpil = pilnavn;
}

function pil(obj, navn) {
  document.images[navn].src = (obj.style.display == "inline") ? "pil_ned.gif" : "pil_hojre.gif";
}
</script>

<a href="#" onclick="fold('div1', 'pil1'); return false;">Menupunkt 1</a> <img src="pil_hojre.gif" name="pil1" />
<a href="#" onclick="fold('div2', 'pil2'); return false;">Menupunkt 2</a> <img src="pil_hojre.gif" name="pil2" />
<a href="#" onclick="fold('div3', 'pil3'); return false;">Menupunkt 3</a> <img src="pil_hojre.gif" name="pil3" />
<br /><br />
<div id="div1" style="display: none;">
Dette er den skjulte tekst for punkt 1.
</div>

<div id="div2" style="display: none;">
Dette er den skjulte tekst for punkt 2 - TA dA.
</div>

<div id="div3" style="display: none;">
Dette er den skjulte tekst for punkt 3.
</div>

<div id="div0" style="display: inline;">
Dette er bare den almindelige tekst
</div>

------------------
Og smid lige et svar ;o)
Avatar billede roenving Novice
23. oktober 2005 - 15:25 #5
Næh, ikke det fjerneste, man skal bare være opmærksom på, at resten flytter sig, så hvis der ikke er et indhold, der er lige stort i alle, kan man få nogle ret sjove effekter !-)

Velbekomme '-)
Avatar billede roenving Novice
23. oktober 2005 - 15:26 #6
Hov, du skal beholde langt de fleste point selv, så læg også selv et svar og del pointene !o]
Avatar billede avminarm Juniormester
23. oktober 2005 - 16:37 #7
ok - så deler vi
Avatar billede avminarm Juniormester
23. oktober 2005 - 16:38 #8
meningen er at det skal være links i toppen af en side - så det gør ikke noget om siden bliver længere eller kortere :-)
Avatar billede roenving Novice
23. oktober 2005 - 16:40 #9
Oki, og tak for point ;~}
Avatar billede avminarm Juniormester
23. oktober 2005 - 18:06 #10
ehhhhhh - lige en sidste ting - hvis nu en bruger klikker på f.eks. "menupunkt 1" så forsvinder div0 - og det er som det skal være - MEN hvis nu brugeen klikker på "menupunkt 1" IGEN - så lukker menupunkt 1 = div1 - dette er også helt ok, MEN så må div0 gerne komme frem igen - kan du fikse det?
Avatar billede roenving Novice
23. oktober 2005 - 18:13 #11
Hrm, den tror jeg ikke jeg kan klare uden at fjerne noget af portabiliteten !-)

function fold(id, pilnavn) {
  obj = document.getElementById(id);
  if (foer != null && foer != obj) {
    foer.style.display = "none";
    if(foerpil)pil(foer, foerpil);
  }
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
  pil(obj, pilnavn);
  document.getElementById('div0').style.display = (obj.style.display == "none") ? "inline" : "none";
  foer = obj;
  foerpil = pilnavn;
}
Avatar billede avminarm Juniormester
23. oktober 2005 - 20:27 #12
;o) - pyt bare det virker - så er jeg principielt glad

men bare ud af nysgerrighed kan man gøre sådan her:?

function fold(id, pilnavn, start) {
  obj = document.getElementById(id);
  if (foer != null && foer != obj) {
    foer.style.display = "none";
    if(foerpil)pil(foer, foerpil);
  }
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
  pil(obj, pilnavn);
  document.getElementById(start).style.display = (obj.style.display == "none") ? "inline" : "none";
  foer = obj;
  foerpil = pilnavn;
}
Avatar billede roenving Novice
24. oktober 2005 - 13:46 #13
Ja !-)
Avatar billede avminarm Juniormester
24. oktober 2005 - 18:21 #14
jamen - så er jeg glad - tak endnu engang
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester