PDA

View Full Version : Dynamic-FX Slide-In Menu - highlighting bug



Snookerman
01-12-2009, 12:42 PM
1) Script Title: Dynamic-FX Slide-In Menu (v 6.5)

2) Script URL (on DD): http://www.dynamicdrive.com/dynamicindex1/davidmenu.htm (http://www.dynamicdrive.com/dynamicindex1/davidmenu.htm)

3) Describe problem: There is a piece of code that makes the whole background highlight, see this thread for more info:
http://www.dynamicdrive.com/forums/showthread.php?p=179719 (http://www.dynamicdrive.com/forums/showthread.php?p=179719)

jscheuer1
01-13-2009, 08:45 PM
It's supposed to do that. When you hover a link, the td's bg is supposed to change. If you don't want it to, use the same color for both the link bg and the link hover bg. No editing of the main script required. That is unless you are talking about something else.

If you are, please be very specific, and give the browser and browser version used.

Snookerman
01-13-2009, 10:13 PM
As the user that spotted it said, it has a "bleeding" effect on the background of the page. I've noticed this in Fx3 and Chrome.
Here is the code I used, along with the files from the demo page:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<style type="text/css">
a.ssmItems:link {
color: black;
text-decoration: none;
}

a.ssmItems:hover {
color: black;
text-decoration: none;
}

a.ssmItems:active {
color: black;
text-decoration: none;
}

a.ssmItems:visited {
color: black;
text-decoration: none;
}
</style>
<script src="ssm.js" type="text/javascript">
//Dynamic-FX slide in menu v6.5 (By maXimus, http://maximus.ravecore.com/)
//Updated July 8th, 03' for doctype bug
//For full source, and 100's more DHTML scripts, visit http://www.dynamicdrive.com
</script>
<script src="ssmItems.js" type="text/javascript">
</script>
</head>
<body>
</body>
</html>


I don't really mind since I'm not using this script, I just thought you might want to know.

jscheuer1
01-14-2009, 04:26 AM
Well the bit of code you site in your post from the thread you site:



<ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%" ALIGN="'+linkAlign+'">

Should be ignored by modern browsers because they do not support the LAYER and ILAYER tags. Additionally, I see no bleeding on the demo page in Fx 3 or GC.

However, I must admit that I thought at first (because I was in a rush) that you were talking about another script. This particular script you are talking about is rather old and outdated.

But any script may be made to misbehave if inappropriate styles, configuration, markup, etc. are used in conjunction with it.

So I'm not too clear on what the trouble is here, whether it is an actual bug or just a misuse of the code. The fact that it doesn't exhibit this behavior on the DD demo page for this script tends to in itself disqualify it as a bug for this sub forum (see the guidelines for this bug reports forum).

Snookerman
01-14-2009, 07:01 AM
I did follow the rules, tested this on a clean page with nothing else but the script itself. The reason why you can't see this on the demo page is because it has a background colour. Turn it off in firebug and you will see the entire background go yellow when you use the menu, here's a screenshot:
2434
As you can see, all I did was to turn off the white background colour in firebug.
I found that removing the layer code will get rid of this, but I'm not sure how it affects other browsers. If it is really needed, I think removing just this part will do the trick:

<LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'"

jscheuer1
01-14-2009, 09:10 AM
That's pretty bizarre. But still not really a bug of the script. Modern browsers should ignore the layer and ilayer tags, their attributes, all that is contained within them, scripted changes to them, etc. on any page with a valid DOCTYPE, as they are are no longer a part of the specification.

Now, I'm not 100% sure of this, but there is no official mention of these tags that I could find on the w3c website, so I would say that it is a safe bet.

Fx comes from (a long way from, but from nevertheless) NS 4, the last browser I know of to actually use layer and ilayer. Perhaps there is some left over code. If so, it is a bug in the browser. I have no clue about GC, but I suspect it is a similar situation.

To answer your question though, these tags are obsolete. Any code that references or uses them may be safely removed, as long as no reference to them that might cause an error is left behind. This applies not only to this script, but also to all javascript and HTML code.