Avatar billede jss Nybegynder
26. september 2005 - 11:31 Der er 17 kommentarer og
1 løsning

Problemer med "luft" ved show/hide div (kun FireFox)

Hej eksperter

Jeg anvender det fantastiske script fra http://eksperten.dk/spm/358779 med stor glæde, men er rendt ind i nogle problemer, når jeg anvender FireFox. Der opstår mere og mere "luft" mellem det viste div og Næste/Tilbage-knapperne jo flere gange jeg klikker på "Næste". Dette er ikke et problem i IE ...
Avatar billede roenving Novice
26. september 2005 - 14:59 #1
Jeg kunne ikke finde årsagen, for ifølge DOM-inspectoren var der ingenting, men sæte en div rundt om dine blokke, så virker det !-)

Eksempel:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
  var numQs = 3;//antallet af spm/grupper af spørgsmål
  var myGroup = 0;
  function switchDiv(action){
    if(action == "next"){
      var checkDiv = 'spm_gruppe_'+(++myGroup);
      if(document.getElementById(checkDiv)){
        document.getElementById(checkDiv).style.display = 'block'
        document.getElementById('spm_gruppe_'+(myGroup-1)).style.display = 'none'
        document.getElementById("buttonBack").style.visibility="visible";
        if (myGroup==numQs)document.getElementById("buttonNext").style.visibility="hidden";
      }
    }
    if(action == "back"){
      var checkDiv = 'spm_gruppe_'+(--myGroup);
      if(document.getElementById(checkDiv)){
        document.getElementById(checkDiv).style.display = 'block'
        document.getElementById('spm_gruppe_'+(myGroup+1)).style.display = 'none'
        document.getElementById("buttonNext").style.visibility="visible";
        if (myGroup==0)document.getElementById("buttonBack").style.visibility="hidden";
      }
    }
  }
</script>
<title>Vis/skjul blokke</title>
</head>
<body>
<form name="minform">
  <div>
    <div id="spm_gruppe_0" style="display:block;">
      spm_gruppe_0
      <input type="text">
      <input type="text">
      <input type="text">
    </div>
    <div id="spm_gruppe_1" style="display:none;">
      spm_gruppe_1
      <input type="text">
      <input type="text">
      <input type="text">
    </div>
    <div id="spm_gruppe_2" style="display:none;">
      spm_gruppe_2
      <input type="text">
      <input type="text">
      <input type="text">
    </div>
    <div id="spm_gruppe_3" style="display:none;">
      spm_gruppe_3
      <input type="text">
      <input type="text">
      <input type="text">
    </div>
  </div>
  <div id="buttonBack" style="visibility:hidden">
    <input type="button" onClick="switchDiv('back');return false;" value="tilbage">
  </div>
  <div id="buttonNext" style="visibility:visible">
    <input type="button" onClick="switchDiv('next');return false;" value="næste">
  </div>
</form>
</body>
</html>
Avatar billede jss Nybegynder
26. september 2005 - 15:08 #2
Kan det have noget at gøre med at jeg bruger en tabel i hver div? Jeg ruller nemlig indhold ud fra en database og synes det blev pænest vha. tabeller ...
Avatar billede horsmark Nybegynder
26. september 2005 - 15:16 #3
<div id="spm_gruppe_0" style="display:block;"> skal måske være inline element istedet alá
<span id="spm_gruppe_0" style="display:inline;">
Avatar billede horsmark Nybegynder
26. september 2005 - 15:16 #4
har du en url ?
Avatar billede jss Nybegynder
26. september 2005 - 15:21 #5
Jeg kigger lidt på jeres eksempler og vender tilbage i aften ... der er lige noget andet presserende her på jobbet der skal løses først - det kender I jo nok også til .... :-)

url - ikke lige pt. da det er "forretningshemmeligt", men jeg laver en dummy i aften. OK?
Avatar billede roenving Novice
26. september 2005 - 15:42 #6
-- nej, det har ikke noget med noget tabelværk, men ovenstående trick (det med den ekstra div rundt om de alternerende diver !-) virker helt uden problemer !o]
Avatar billede jss Nybegynder
26. september 2005 - 22:35 #7
Har sat div "udenom", men stadig samme resultat. Her er et link til en dummy http://www.dma-research.com/dummy/

Som sagt er det kun et problem i FF, med den lille finesse at når der klikkes tilbage, så forsvinder luften ..... meget underligt.

Håber I kan komme med et bud på en løsning, sig endelig til hvis I mangler info.
Avatar billede roenving Novice
26. september 2005 - 23:12 #8
Hvor er der noget, som folder ud eller ind ?-)
Avatar billede jss Nybegynder
26. september 2005 - 23:14 #9
åh ja - selvfølgelig skal I lige have en forklaring med. Prøv at klikke på et af flagene for at komme til ny side (popup), hvor du kan klikke på knapper for at komme frem og tilbage
Avatar billede roenving Novice
26. september 2005 - 23:44 #10
Ligesom i eksemplet, en div udenom alle grupper af spørgsmål, men ikke udenom formen, og ikke udenom knapperne ...
Avatar billede roenving Novice
26. september 2005 - 23:51 #11
Har du tænkt på at gøre sådan en kode læselig, bare sådan, når den skal debugges ?-)
Avatar billede jss Nybegynder
26. september 2005 - 23:59 #12
jeg ved godt at koden er ikke-læsevenlig. men det skyldes at den "rulles" udfra database - sådan set er der jo kun én linje i mit script, der gentages x antal gange.

Nå, men forslaget 26/09-2005 23:44:58 løste det, men skabte så et nyt, idet jeg bruger divs (css - positionering) til opbygningen af sider. Og der er nogle divs uden om det hele .. måske jeg skal anvende tabeller til design indtil jeg får løst det.
Avatar billede roenving Novice
27. september 2005 - 00:03 #13
De omkringliggende divs kan da ikke skades af noget, der ligger indeni ?-)
Avatar billede jss Nybegynder
27. september 2005 - 00:05 #14
Jeg er lige ved at komme frem til det samme, ved at rykke lidt rundt med koden .. så giv mig lige et øjeblik, så vender jeg tilbage med resultatet af anstrengelserne :-)
Avatar billede jss Nybegynder
27. september 2005 - 00:45 #15
et øjeblik = 39 minutter .....

Nu virker det altså ... og ganske rigtigt om roenving skrev, var det et spørgsmål om at få styr på div´s. DOM-inspectoren rules :-)

roenving ->> points er dine
Avatar billede roenving Novice
27. september 2005 - 00:48 #16
Velbekomme '-)

-- og engang imellem er DOM-inspectoren ganske rigtig gud, men kun hvis man ikke sætter sin kode rigtig op !-)

-- hvilket dog kan være svært at gennemskue, når man genererer det med et serverside script ud fra et database-opslag ...
Avatar billede jss Nybegynder
27. september 2005 - 00:50 #17
helt enig og tak for hjælpen
Avatar billede roenving Novice
27. september 2005 - 00:51 #18
-- og jeg takker for point ;~}
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