Avatar billede bacce.dk Nybegynder
24. marts 2003 - 18:59 Der er 15 kommentarer og
1 løsning

show layer problem

Hejsa
jeg har dette stykke kode liggende for at gøre det muligt at få fremvist et layer ved tryk på et billed, meen der sker intet ved klik.

<head>
<script language="JavaScript">
<!--
function na_show_layer(lname, flag)
{
  var layer = (navigator.appName.indexOf('Netscape', 0) != -1) ? document.layers[lname] : document.all[lname];
  if (lname == '')
    return;
  if (navigator.appName.indexOf('Netscape', 0) != -1)
    layer.visibility = (flag == 0) ? 'show' : 'hide';
  else
    layer.style.visibility = (flag == 0) ? 'visible' : 'hidden';
}

// -->
</script>
</head>

og mit link ser sådan her ud...

<a OnClick="na_show_layer('bruger', 0);"><img src="images/info.lille.gif" width="12" height="13" border="0"></a>

mit layer's id er "bruger"

er der nogen der kan se fejlen ?
Avatar billede olebole Juniormester
25. marts 2003 - 00:42 #1
<ole>

Hvad kan du ikke få til at virke - og i hvilken browser? Hvordan ser din kode ud til laget?

/mvh
</bole>
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 09:08 #2
Der sker bare intet når jeg trykker på billedet, så jeg kan ik få noget som helst til at virke :-/
jeg kører IE6.0
Avatar billede olebole Juniormester
25. marts 2003 - 09:29 #3
Så må du lægge en URL til siden ... det fungerer fint for mig  :)
/mvh
Avatar billede olebole Juniormester
25. marts 2003 - 09:32 #4
Hov ... nej, det er ikke sikkert, det virker. Jeg troede, det var et anker - sæt en href i. Ellers er det jo ikke noget link - og det kan godt være, det så ikke virker. Jeg gider ikke teste det igen, da jeg har kodet hele natten  :)
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 12:38 #5
hmm det virkede heller ikke..
her er en ny copy af alle tingne.
1. javasvriptet.
<head>
<script language="JavaScript">
<!--
function na_show_layer(lname, flag)
{
  var layer = (navigator.appName.indexOf('Netscape', 0) != -1) ? document.layers[lname] : document.all[lname];
  if (lname == '')
    return;
  if (navigator.appName.indexOf('Netscape', 0) != -1)
    layer.visibility = (flag == 0) ? 'show' : 'hide';
  else
    layer.style.visibility = (flag == 0) ? 'visible' : 'hidden';
}

// -->
</script>
</head>

2.
layer.

<div id="bruger" name="bruger" style="background-color:white; width:280px; height:237px; position:absolute; left:311px; top:52px; z-index:1; visibility:hidden; layer-background-color:white; ">
                                <p>&nbsp;</p>
                                <table border="0" cellpadding="0" cellspacing="0" width="500">
                                    <tr>
                                        <td>
                                            <p>sdsd</p>
                                        </td>
                                        <td>
                                            <p>&nbsp;</p>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <p>sdsdsd</p>
                                        </td>
                                        <td>
                                            <p>&nbsp;</p>
                                        </td>
                                    </tr>
                                </table>
                                <p>&nbsp;</p>
                            </div>

3.
Linket

<a href="#" OnClick="na_show_layer('bruger', 0);"><img src="images/info.lille.gif" width="12" height="13" border="0"></a>
Avatar billede olebole Juniormester
25. marts 2003 - 18:30 #6
Så mangler vi bare oplysningerne om, hvilke browserversioner der skal understøttes (det fungerer jo fint i IE)  :)
/mvh
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 18:35 #7
hmm det ville da være rart hvis det virkede i
ns, IE 4 5 6
Jeg kører selv IE6.0 og kan ikke se dem :-(
jeg har også prøvet at lave dem omvendt så layeret som standart var fremme og et tryk på knappen skulle så lukke det, men det virker heller ikke
Avatar billede olebole Juniormester
25. marts 2003 - 18:48 #8
Prøv til en start at checke, om du har slået JavaScript fra i din IE - for det spiller max i IE6
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 18:53 #9
hmm nej den er nu god nok :-))
meen jeg er vidst ved at finde ud af at det måske slet ikke er dette stykke det er galt med.
Jeg har lavet en REN copy af javascriptet, layeret og linket og smidt det sammen i en almindelig html fil UDEN noget andet og vupti så virker det, sååå her vil mit spørgsmål så komme..
virker dette javascript ikke sammen med .css includes eller i filer der ender på .php ???
det virker ret mystiskt at det virker med presist samme kode i en .html fil uden andet.
skal jeg poste hele .php filen her ??
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 18:58 #10
hmm den kommer lige her :-)

<html>

<head>
<title>tittel her</title>
<link rel="stylesheet" href="style/style.css">
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<script language="JavaScript">
<!--
function na_show_layer(lname, flag)
{
  var layer = (navigator.appName.indexOf('Netscape', 0) != -1) ? document.layers[lname] : document.all[lname];
  if (lname == '')
    return;
  if (navigator.appName.indexOf('Netscape', 0) != -1)
    layer.visibility = (flag == 0) ? 'show' : 'hide';
  else
    layer.style.visibility = (flag == 0) ? 'visible' : 'hidden';
}

// -->
</script>
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
        <td colspan="2">
    <?php include("top.php"); ?>
        </td>
    </tr>
    <tr>
        <td width="194" valign="top" background="/images/menu.bg.gif">
<?php include("menu.php"); ?>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>

        </td>
        <td valign="top">
            <div align="right">
                <table border="0" cellpadding="0" cellspacing="0" width="98%">
                    <tr>
                        <td>
                            <p>
                            <div id="bruger" name="bruger" style="background-color:white; width:280px; height:237px; position:absolute; left:260px; top:19px; z-index:1; visibility:hidden; layer-background-color:white; ">
                                <p>&nbsp;</p>
                                <table border="0" cellpadding="0" cellspacing="0" width="500">
                                    <tr>
                                        <td>
                                            <p>sdsd</p>
                                        </td>
                                        <td>
                                            <p>&nbsp;</p>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <p>sdsdsd</p>
                                        </td>
                                        <td>
                                            <p>&nbsp;</p>
                                        </td>
                                    </tr>
                                </table>
                                <p>&nbsp;</p>
                            </div>
<span class="overskrift">Brugeroprettelse</span></p>
                            <p>bla bla bla bla bla bla bla bla bla bla bla bla
                bla bla bla bla bla bla bla bla bla bla bla bla bla bla
                bla bla bla bla bla bla <br>bla bla bla bla bla bla bla bla bla bla bla bla
                bla bla bla bla bla bla bla bla bla bla <br>bla bla bla bla bla bla bla bla bla bla </p>
                            <table border="0" cellpadding="0" cellspacing="0" width="500">
                                <tr>
                                    <td width="200" style="border-bottom-width:1; border-bottom-color:black; border-bottom-style:solid;">
                                        <p>Oprettelses forular</p>
                                    </td>
                                    <td style="border-bottom-width:1; border-bottom-color:black; border-bottom-style:solid;">
                                        <p>&nbsp;</p>
                                    </td>
                                </tr>
                                <tr>
                                    <td width="200">
                                        <p>&nbsp;</p>
                                    </td>
                                    <td>
                                        <p>&nbsp;</p>
                                    </td>
                                </tr>
                                <tr>
                                    <td width="200">
                                        <p>Brugernavn : </p>
                                    </td>
                                    <td>
                    <form name="form1">
                                        <p><input type="text" name="bruger" style="font-family:Verdana,sans-serif; font-style:normal; font-weight:bold; font-size:10; color:rgb(102,153,204); text-decoration:none; border-width:1; border-color:rgb(1,52,103); border-style:solid;">&nbsp;<a href="#" OnClick="na_show_layer('bruger', 0);"><img src="images/info.lille.gif" width="12" height="13" border="0"></a></p>
                                    </form>
                    </td>
                                </tr>
                                <tr>
                                    <td width="200">
                                        <p>Password : </p>
                                    </td>
                                    <td>
                                        <form name="form2">
                                        <p><input type="password" name="password" style="font-family:Verdana,sans-serif; font-style:normal; font-weight:bold; font-size:10; color:rgb(102,153,204); text-decoration:none; border-width:1; border-color:rgb(1,52,103); border-style:solid;"></p>
                                        </form>
                                    </td>
                                </tr>
                                <tr>
                                    <td width="200">
                                        <p>Password igen : </p>
                                    </td>
                                    <td>
                                        <form name="form3">
                                        <p><input type="password" name="password02" style="font-family:Verdana,sans-serif; font-style:normal; font-weight:bold; font-size:10; color:rgb(102,153,204); text-decoration:none; border-width:1; border-color:rgb(1,52,103); border-style:solid;"></p>
                                        </form>
                                    </td>
                                </tr>
                                <tr>
                                    <td width="200">
                                        <p>Gyldig E-Mail adresse : </p>
                                    </td>
                                    <td>
                                        <form name="form4">
                                        <p><input type="text" name="email" style="font-family:Verdana,sans-serif; font-style:normal; font-weight:bold; font-size:10; color:rgb(102,153,204); text-decoration:none; border-width:1; border-color:rgb(1,52,103); border-style:solid;"></p>
                                        </form>
                                    </td>
                                </tr>
                <tr>
                                    <td width="200">
                                        <p>Jeg accepterer de gældende regler.</p>
                                    </td>
                                    <td valign="top">
                                        <form name="form5">
                                        <p>&nbsp;<input type="checkbox" name="regler" value="regler"></p>
                                        </form>
                                    </td>
                                </tr>
                <tr>
                                    <td style="border-top-width:1; border-top-color:black; border-top-style:solid;">
                                        <p>&nbsp;</p>
                                    </td>
                                    <td style="border-top-width:1; border-top-color:black; border-top-style:solid;">
                                        <p>&nbsp;</p>
                                    </td>
                                </tr>
                <tr>
                                    <td>
                                        <p>&nbsp;</p>
                                    </td>
                                    <td>
                                        <p>&nbsp;</p>
                                    </td>
                                </tr>
                <tr>
                                    <td>
                                        <p>&nbsp;</p>
                                    </td>
                                    <td>
                                        <p>&nbsp;</p>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </div>
        </td>
    </tr>
</table>
<p>&nbsp;</p>
</body>

</html>
Avatar billede olebole Juniormester
25. marts 2003 - 19:46 #11
Prøv at stikke hovedet ind i en skolegård og råb: "Nicolaj ... kom lige". Et minut efter står der fem-seks drenge foran dig ... forvirring  ;o)

Du har et input:
  <input type="text" name="bruger" ... osv >

Det skaber forvirring hos JavaScript, når du kalder elementet med 'bruger'. Bare giv det (eller div'et) et andet navn  :)
/mvh
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 19:49 #12
for sata du er en guttermand :-) det virkede bare vupti :-)
er du sød at svare ??
Avatar billede olebole Juniormester
25. marts 2003 - 19:53 #13
Ja tak, og så kan du lave din funktion om, så den virker i langt flere browsere:

script type="text/JavaScript">
<!--
function na_show_layer(lname, flag) {
    if (lname == '') return;
    var d = document;
    var lyr = (document.all)? d.all[lname] : (d.layers)? d.layers[lname] : d.getElementById(lname);
    lyr.style.visibility = (flag == 0)? 'visible' : 'hidden';
}
// -->
</script>

Det virker i NS4+ og IE4+ samt Mozilla, Opera og div. andre perifære brusere  :)
/mvh
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 19:55 #14
okey cool det vil jeg da så gøre :-)
tak for hjælpen du...
Avatar billede olebole Juniormester
25. marts 2003 - 19:55 #15
Dohhhh ... OLE! Når nu vi har lavet en short-cut for 'document', bør vi jo bruge den overalt! Ret:
  var lyr = (document.all)? ..... osv
til:
  var lyr = (d.all)? ..... osv

;o)
Avatar billede bacce.dk Nybegynder
25. marts 2003 - 20:01 #16
hehe okey :-)
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