SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Member gremlinn's Avatar
    Join Date
    Aug 2001
    Location
    Atlanta GA
    Posts
    4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Mozilla/Netscape and layers visibility

    Need some assistance.

    I have three points in my code:

    1. HTML: <body onLoad="showLayer('bodyText');">

    2. CSS: #bodyText {
    position: absolute;
    height: auto;
    top: 0px;
    left: 155px;
    text-align : justify;
    z-index : 83000;
    visibility : hidden;
    }

    3. JS: function showLayer(layerName){ eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"');
    }

    Attn to layer visibility in CSS. So, everything works great in the IE or Opera (?), but in the NN or Mozilla layer stays hidden NN experts, pls, help me.
    signature

  2. #2
    Xbox why have you forsaken me? moospot's Avatar
    Join Date
    Feb 2001
    Location
    Clearwater, FL
    Posts
    3,615
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Netscape uses different syntax to show and hide layers.

    show = visible
    hide = hidden

    You will have to use a conditional statement to fix your problem.

    Very roughly:
    Code:
    If NN Then
       show
       hide
    Else
       visible
       hidden
    End If
    Here's a Dreamweaver snippet (something similar to what you are doing):

    Code:
    <script language="JavaScript">
    <!--
    function MM_findObj(n, d) { //v4.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);
      if(!x && document.getElementById) x=document.getElementById(n); return x;
    }
    
    function MM_showHideLayers() { //v3.0
      var i,p,v,obj,args=MM_showHideLayers.arguments;
      for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null)
    { v=args[i+2];
        if (obj.style) { obj=obj.style;
    v=(v=='show')?'visible':(v='hide')?'hidden':v; }
        obj.visibility=v; }
    }
    //-->
    </script>
    
    ...
    
    <body>
    
    ...
    
    <a href="#" onClick="MM_showHideLayers('parking','','show','sidewalk','','hide','concessions','','hide','fields','','hide','maintenance','','hide')"><img name="baseball_r2_c2" src="images/baseball_r2_c2.jpg" width="99" height="26" border="0"></a>
    
    
    <div style="height: auto">
       <div id="parking" style="position:absolute; visibility: visible; z-index: 2">Parking!
       </div>
    </div>
    I have 5 layers on this page. There are 5 links, also. When I click on a link, it displays the corresponding layer and hides the others. I have to specify which layer I am going to show and hide on each link (This is only one link of the 5).
    Last edited by moospot; Sep 10, 2001 at 10:49.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •