Avatar billede mestersamvis Nybegynder
20. april 2001 - 07:40 Der er 4 kommentarer og
1 løsning

vis/skjul layers, hvordan i Netscape

På siden
http://www.subitomega.dk/test.htm

skulle det fungere således, at et navn kommer frem neden under billederne, når der peges med musen. Det virker i explorer, men ikke i netscape. Jeg har i koden forsøgt at undersøge om brugeren bruger netscape, men det virker ikke. Jeg har forsøgt at følge vejledningen på www.dansteinman.com/dynduo, men altså uden held.

Her er kildekoden:
<html>

<head>

<title>Untitled Document</title>
<link rel=\"stylesheet\" href=\"submstyle.css\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">

<script language=\"JavaScript\">
<!--
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

var magnustekst = \'<span>\'+
          \'Magnus\'+
                  \'</span>\';
             
var roberttekst = \'<span>\'+
              \'Robert\'+
                  \'</span>\';
           
var kristiantekst = \'<span>\'+
          \'Kristian\'+
                  \'</span>\';


function layerWrite(id,nestref,text) {
    if (ns4) {
        var lyr = (nestref)? eval(\'document.\'+nestref+\'.document.\'+id+\'.document\') : document.layers[id].document
        lyr.open()
        lyr.write(text)
        lyr.close()
    }
    else if (ie4) document.all[id].innerHTML = text
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf(\"#\")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
//-->
</SCRIPT>
<STYLE TYPE=\"text/css\">
<!--
.white {color:white;}
#DivFelt {position:absolute; left:80; top:210; width:300; height:30;}

-->
</STYLE>
</head>

<body class=BLUE onLoad=\"MM_preloadImages(\'img/faceswap.gif\',\'img/prof1swap.gif\',\'img/prof2swap.gif\')\">
<table >
  <tr>

    <td>
      <DIV ID=\"DivFelt\" style=\"left: 130px; top: 216px; width: 392px; height: 106px\">
        <p>&nbsp;</p>
        <p>Peg for detaljer...</p>
      </DIV>


      <table width=\"510\">

        <tr>
          <td width=\"110\" ></td>
          <td width=\"400\"  valign=\"top\" >
            <p><br>
              her vi så...</p>
                                       
            <table width=\"390\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
              <tr>
                <td><a href=\"mailto:magnus@subitomega.dk\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"java script:layerWrite(\'DivFelt\',null,magnustekst);MM_swapImage(\'Image1\',\'\',\'img/prof2swap.gif\',1)\" onFocus=\"this.blur()\"><img src=\"img/prof2.gif\" width=\"90\" height=\"90\" border=\"0\" name=\"Image1\"></a></td>
                <td><a href=\"mailto:robert@subitomega.dk\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"java script:layerWrite(\'DivFelt\',null,roberttekst);MM_swapImage(\'Image2\',\'\',\'img/faceswap.gif\',1)\" onFocus=\"this.blur()\"><img src=\"img/face.gif\" width=\"90\" height=\"90\" border=\"0\" name=\"Image2\"></a></td>
                <td><a href=\"mailto:kristian@subitomega.dk\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"java script:layerWrite(\'DivFelt\',null,kristiantekst);MM_swapImage(\'Image3\',\'\',\'img/prof1swap.gif\',1)\" onFocus=\"this.blur()\"><img src=\"img/prof1.gif\" width=\"90\" height=\"90\" border=\"0\" name=\"Image3\"></a></td>
              </tr>
            </table>
            </td>
          <td></td>
        </tr>
      </table>
    </td>
  </tr>
</table>

</body>

</html>

Avatar billede olebole Juniormester
20. april 2001 - 08:39 #1
<ole>
Lav din browser-detection således:

var ns4 = (document.layers)? true:false
var ie4 = (document.all)? true:false
var dom = (document.getElementById)? true:false

...og din skrive-funktion:

function layerWrite(id,nestref,text) {
    if (ns4) {
        var lyr = (nestref)? eval(\'document.\'+nestref+\'.document.\'+id+\'.document\') : document.layers[id].document
        lyr.open()
        lyr.write(text)
        lyr.close()
    }
    else if (ie4) document.all[id].innerHTML = text;
    else if (dom) document.getElementById(id).innerHTML = text;
}

...og dit div:

      <DIV ID=\"DivFelt\">
        Peg for detaljer...
      </DIV>

Så virker det både i NS4.X og NS6.X :)
/mvh
</bole>
Avatar billede olebole Juniormester
20. april 2001 - 08:49 #2
Rettelse...dit div - således:

      <DIV ID=\"DivFelt\" class=\"white\">
        Peg for detaljer...
      </DIV>

...og også en klasse på td\'en her:

          <td width=\"400\" valign=\"top\" class=\"white\">
            <p><br>
              her vi så...</p>

...samt klasser på dine navne-spans:

var magnustekst = \'<span class=\"white\">\'+
          \'Magnus\'+
                  \'</span>\';
           
var roberttekst = \'<span class=\"white\">\'+
              \'Robert\'+
                  \'</span>\';
         
var kristiantekst = \'<span class=\"white\">\'+
          \'Kristian\'+
                  \'</span>\';

Funktionen og browser-detection som beskrevet ovenfor.
/mvh
Avatar billede mestersamvis Nybegynder
20. april 2001 - 08:55 #3
Sejt, det virker.
Et par ord om, hvorfor det ikke virkede før?

Tak.
Avatar billede mestersamvis Nybegynder
20. april 2001 - 09:03 #4
hvorfor alle de class erklæringer...?
Avatar billede olebole Juniormester
20. april 2001 - 09:07 #5
Jeg har ikke checket dit stylesheet, men der er sikkert noget galt. Endvidere taber lag deres styles i NS4.x, når du skriver ind i dem. Derfor skal du have de spans med style-class\' på.
I stedet for at have en class på div\'et, kan du skrive sådan i dit stylesheet:

div {
  color: #ffffff;
}

Hvis du sletter dine <p></p> rundt om \'her vi så...\', kan du også undvære denne klasse, hvis du skriver sådan i dit stylesheet:

td {
  color: #ffffff;
}

Ellers skal du sætte styles på <p></p> inde i <td></td>...unødvendigt! I stedet for <p></p>, brug et passende antal <br>...de andre sutter!
/mvh
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



IT-JOB