Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JS]Foutje in Firefox

Pagina: 1
Acties:

  • Lorduh
  • Registratie: Februari 2008
  • Laatst online: 17-11 10:31
Hallo,

Ik heb op een script dat ik op het net vond - ik weet niet meer waar- een beetje omgevormd zodanig ik eigenlijk net het omgekeerde van het script ben bekomen.

Het probleem met dit script is dat het in firefox een soort van "<br />" doet telkens je het eens uit en in klapt. In internet explorer 7.0 is dit niet het geval.

Ik heb zoal wat op het net zitten rond te zoeken maar ik vind niet direct waar het kan aan liggen. Ik heb het ook nog aan andere mensen gevraagd maar die weten het ook niet zo direct. Ik hoop dus dat het hier wel wat nuttigs komt te staan :).

Het scriptje

De HTML-pagina
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Klapper :: Test</title>
<script type="text/javascript" src="functions.js"></script>
</head>
<body>
    <span style="cursor: pointer;" onclick="cats(this,'divtekst');">Klap in</span>
        <table>
    <tr id="divtekst" style="display: block;"><td>   ... hier de lange teksten / codes ...</td></tr>
        </table>
</body>
</html>


functions.js
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Klapper :: Test</title>
<script type="text/javascript" src="functions.js"></script>
</head>
<body>
    <span style="cursor: pointer;" onclick="cats(this,'divtekst');">Klap in</span>
        <table>
    <tr id="divtekst" style="display: block;"><td>   ... hier de lange teksten / codes ...</td></tr>
        </table>
</body>
</html>


Zo, ik hoop dat jullie er mij wijzer kunnen uit brengen!

Mvg,
Lorduh.

[ Voor 28% gewijzigd door Lorduh op 29-03-2008 11:32 ]


  • daanmsvl
  • Registratie: Juli 2005
  • Laatst online: 17-06-2021

daanmsvl

Daan

Je moet function.js even opnieuw posten, je hebt nu 2x de HTML pagina gepost :>

"Military intelligence is a contradiction in terms." - Groucho Marx, American Comedian, Actor and Singer, 1890-1977


  • Lorduh
  • Registratie: Februari 2008
  • Laatst online: 17-11 10:31
Sorry :$
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function cats(a,codediv){   
    var divje = document.getElementById( codediv );   
    if (divje.style.display == "block") 
        {
         divje.style.display = "none";      
         a.innerHTML='Klap uit';  
        }
    else
        {
         divje.style.display = "block";
         a.innerHTML='Klap in';   
        }
}

  • daanmsvl
  • Registratie: Juli 2005
  • Laatst online: 17-06-2021

daanmsvl

Daan

Wat er gebeurt in jouw code is dit:
HTML:
1
    <tr id="divtekst" style="display: block;"><td>   ... hier de lange teksten / codes ...</td></tr>


Onder DIVTEKST zit dus ook een <TD> blok dat een nieuwe kolom genereert. Jouw Javascript plaatst dus die hele tekst elke keer weer terug. Dus na een paar keer in en uitklappen zit je met een paarhonderd <TD>. De oplossing is dan ook:

HTML:
1
<tr><td id="divtekst" style="display: block;">   ... hier de lange teksten / codes ...</td></tr>

en dan werkt het wel. Ik heb dus nu de ID gebonden aan de TD ipv de TR.

"Military intelligence is a contradiction in terms." - Groucho Marx, American Comedian, Actor and Singer, 1890-1977


  • Lorduh
  • Registratie: Februari 2008
  • Laatst online: 17-11 10:31
Dus ik mag niet op <tr> werken? Dat is namelijk wel de bedoeling...

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:14

crisp

Devver

Pixelated

geen 'block' gebruiken als display-waarde voor table-rows...

Intentionally left blank


  • Lorduh
  • Registratie: Februari 2008
  • Laatst online: 17-11 10:31
Uuhh, ik heb geen verstand van javascript. Maar ik denk als ik die block weghaal dat het ook niet meer zal werken...

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 18:39
display:inline

There is no replacement for displacement!


  • apokalypse
  • Registratie: Augustus 2004
  • Laatst online: 19-11 03:34
of nog simpeler;
code:
1
2
3
 else
        {
         divje.style.display = "";
Pagina: 1