Avatar billede -zonic- Nybegynder
03. december 2007 - 17:17 Der er 14 kommentarer og
1 løsning

display:"table-row" fejler i IE?

jeg bruger følgende script.:
    function get_id ($id) {
        if (document.all && document.getElementById) {
            return document.all($id);
        } else if (!document.all && document.getElementById) {
            return document.getElementById($id);
        } else {
            return false;
        }
    }

    function showhide ($id) {
        if (($bcontent = get_id($id+'c')) && ($img = get_id($id+'i'))) {
            $bcontent = $bcontent.style;
        } else {
            return false;
        }
        if ($bcontent.visibility == 'hidden') {
            $bcontent.display = "table-row";
            $bcontent.visibility = 'visible';
            $img.src = 'gfx/menu/ar1.gif';
           
        } else {
            $bcontent.display = 'none';
            $bcontent.visibility = 'hidden';
            $img.src = 'gfx/menu/ar2.gif';
           
        }
    }
   

i FF og Opera kan den godt finde ud af at sætte display = table-row, men IE siger følgende:

Egenskaben display kunne ikke hentes. Ugyldigt argument.

hvad skyldes dette?

NB! jeg SKAL bruge table-row, da FF og Opera ikke godtager 'block' når det er en show/hide på en <tr>
Avatar billede w13 Novice
03. december 2007 - 17:45 #1
Undskyld, hvis det er lidt off topic, men hvorfor har du funktionen get_id()? document.getElementById() virker jo i samtlige browsere.
Avatar billede -zonic- Nybegynder
03. december 2007 - 18:40 #2
hehe, jeg har jo ikke lavet scriptet selv :) det er faktisk det der bliver brugt på exp.dk's side så vidt jeg ved
Avatar billede w13 Novice
03. december 2007 - 18:45 #3
Jaeh, det tror jeg gerne. Læg mærke til den sidste del af exp.dk's kode:

</body>
</html>
<pre>

:)

Nogen syntes åbenbart, der sku' startes et <pre>-tag efter afslutningen af <html>..
Avatar billede -zonic- Nybegynder
03. december 2007 - 19:04 #4
haha :D ingen er åbenbart perfekt :D
Avatar billede roenving Novice
04. december 2007 - 00:34 #5
Du må sætte en tabel-række til at være display:block, hvis du får fat i en browser, der ikke forstår table-row !o]

-- måske sådan (absolut utestet !-)

      if ($bcontent.visibility == 'hidden') {
            $bcontent.display = "block";
            $bcontent.display = "table-row";
            $bcontent.visibility = 'visible';
Avatar billede -zonic- Nybegynder
04. december 2007 - 10:22 #6
Virker desværre ikke... kan man evt lave noget !important?

eller er vi ude i, at jeg skal finde ud af hvilken browser folk bruger, og så lave den specifik? og hvordan dælan får jeg det flettet ind?
Avatar billede w13 Novice
04. december 2007 - 13:23 #7
I hvilken browser virker Roenvings kode ikke?
Avatar billede w13 Novice
04. december 2007 - 13:30 #8
Jeg tror faktisk, at du kan nøjes med at gi' tr'en en visibility:collapse; eller visibility:visible;

Kan du så ikke helt undgå at sku' bruge display?
Avatar billede w13 Novice
04. december 2007 - 13:35 #9
Hmm... Eller... Det er vist ikke så godt understøttet alligevel. Øv.
Avatar billede -zonic- Nybegynder
04. december 2007 - 13:57 #10
den trumfer block igennem :( så det ikke virker i FF og Opera...
Avatar billede roenving Novice
04. december 2007 - 16:53 #11
Øv, så må man snyde:

<!--[if lte IE 7]>
<script type="text/javascript">
var ie = true;
</script>
<![endif]-->

      if ($bcontent.visibility == 'hidden') {
            $bcontent.display = ie ? "block" : "table-row";
            $bcontent.visibility = 'visible';
Avatar billede -zonic- Nybegynder
10. december 2007 - 20:01 #12
tak roenving, løsningen blev noget lignende dit,

<p class="link" style="cursor:pointer;" id="nr1<? echo $i ?>i" onclick="<? if(strpos($_SERVER['HTTP_USER_AGENT'],"MSIE")) {
echo "showhideie";
} else { echo "showhideff"; } ?>('nr1<? echo $i ?>')"><? echo $row['navn']; ?></p>

smid lige et svar :)
Avatar billede roenving Novice
11. december 2007 - 00:10 #13
Velbekomme '-)
Avatar billede w13 Novice
19. januar 2008 - 15:36 #14
Lukketid?
Avatar billede roenving Novice
25. februar 2008 - 16:24 #15
Tak 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