Forum Moderators: open

Message Too Old, No Replies

Navigation code not showing in Firefox but is fine in IE8

code is not showing the navigation in Firefox

         

acousticfan

6:37 am on Sep 5, 2009 (gmt 0)

10+ Year Member



Any help to get this code to work in firefox would be appreciated.
heres the code being used for the site the script is not allowing navigation to show in Firefox, its and image swap and with image off on and remaining on till another page is chosen

<HTML>
<HEAD>
<TITLE>nav</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<style type="text/css">
<!--
body {
background-color: #CCCCCC;
}
.style1 {
color: #000000;
font-style: italic;
font-weight: bold;
}
.style2 {color: #CCCCCC}
a:link {
color: #FFFFFF;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #CCCCCC;
}
a:hover {
text-decoration: underline;
}
a#home{
width:78px;
height: 53px;
background: url(images/nav_01-sel.jpg);
}

a#home:hover{
width:78px;
height: 53px;
background: url(images/nav_01-over.jpg);
}
a#about{
width:80px;
height: 53px;
background: url(images/sturgeonnavi.jpg);
}

a#about:hover{
width:80px;
height: 53px;
background: url(images/sturgeonnavi-over.jpg);
}

a#programs{
width:117px;
height: 53px;
background: url(images/nav_03.jpg);
}

a#programs:hover{
width:117px;
height: 53px;
background: url(images/nav_03-over.jpg);
}
a#research{
width:100px;
height: 53px;
background: url(images/nav_04.jpg);
}
a#research:hover{
width:100px;
height: 53px;
background: url(images/nav_04-over.jpg); }

a#events{
width:80px;
height: 53px;
background: url(images/nav_05.jpg);
}

a#events:hover{
width:80px;
height: 53px;
background: url(images/nav_05-over.jpg);}

a#media{
width:81px;
height: 53px;
background: url(images/nav_06.jpg);
}

a#media:hover{
width:81px;
height: 53px;
background: url(images/nav_06-over.jpg);}

a#donate{
width:94px;
height: 53px;
background: url(images/nav_07.jpg);
}

a#donate:hover{
width:95px;
height: 53px;
background: url(images/nav_07-over.jpg);
}

a#shop{
width:98px;
height: 53px;
background: url(images/nav_08.jpg);
}

a#shop:hover{
width:98px;
height: 53px;
background: url(images/nav_08-over.jpg);
}
.style4 {color: #000000; }



-->
</style>
<script type="text/JavaScript">
<!--
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_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_findObj(n, d) { //v4.01
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 && d.getElementById) x=d.getElementById(n); return x;
}

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];}
}
//-->
</script>
</HEAD>
<BODY LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 ONLOAD="preloadImages();MM_preloadImages('images/sturgeonsongon.jpg')">
<table width="755" border="1" cellspacing="1" cellpadding="1" align="center" height="1027">
<tr>
<td height="129" align="left" valign="top" bordercolor="#666699" bgcolor="#5C88A1" background="images/autumnbkg.jpg"><div align="center"><img src="images/mastj.jpg" width="800" height="137" align="texttop"></div></td>
</tr>
<tr>
<td height="881" align="left" valign="top" bordercolor="#666699" bgcolor="#5C88A1" background="images/bluebkg.jpg"><table width="544" border="0" cellspacing="0" cellpadding="0" align="center" height="749">
<tr height="322">
<td height="43" align="left" valign="top"><TABLE ID="Table_01" WIDTH=630 HEIGHT=53 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD width="74"><a id="home" href="home.html" target="_self"></a></TD>
<TD width="60"><a id="about" href="about.html" target="_self"></a></TD>
<TD width="65"><a id="programs" href="programs.html" target="_self"></a></TD>
<TD width="77"><a id="research" href="research.html" target="_self"></a></TD>
<TD width="85"><a id="events" href="events.html" target="_self"></a></TD>
<TD width="94"><a id="media" href="media.html" target="_self"></a></TD>
<TD width="65"><a id="donate" href="donate.html" target="_self"></a></TD><br>
<TD><a id="shop" href="shop.html" target="_self"></a></TD>
<TD width="110">&nbsp;</TD>
</TR>

[edited by: tedster at 7:20 am (utc) on Sep. 5, 2009]
[edit reason] removed identifying details [/edit]

D_Blackwell

7:52 pm on Sep 5, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



A few things to consider. You'll likely get more/better feedback to expand your options and decisions. My thoughts are but one quick take from one person.

1) Your markup will work, but a lot of the HTML is ancient and the table is using deprecated attributes, such as align, width, height.....

2) I would declare a current DTD (which will allow code validation - a very smart thing to do) and recode - which isn't to say that it can't be made to work as is. IF recoded, I would drop the table and probably use <ul> wrapped in <div> container.

3) Stripping all of the widths out of the <tds> should 'fix' Firefox and Opera and should answer the question that you have asked. Everything else here are 'bonus' comments (even if unsolicited.) Do you need the last <td> hack at all?

4) You may still have centering issues to resolve in IE if that is a goal.

4) Can't recommend designing in IE. Design in the good stuff - then fix for IE. Life will be a lot easier.

5) target is deprecated in HTML4 and is there any point to target="self"? This is an instruction to load the linked page in the same window and/or frame that the user is already on. Essentially, it equals not specifying target at all. This is old, old, markup - going back to when framing was a hot thing.

6) In the CSS, which is current and basically in pretty good shape:

A) I shorthand colors where possible and believe lowercase to be 'best practice' - but it will work just fine the way it is:
a:visited {
color: #ccc;
}

B) When you declare, for example, width: 78px; and height: 53px; on a#home, there is no need to repeat the declaration on a#homehover - it will carry through :visited, :hover, and :active

C) Looks like you are using images for :hovers. This is fine, if it loads fast - otherwise there could be blip between the hover, and the display of the image. One option is to preload the images. Another option is to use one image with both the default and hover states, and then reposition the image on :hover. Using one image and positioning is just another way of preloading the :hover image so that it will show immediately.