csshover.htc and IE freeze
When I tried to implement csshover.htc-enabled ADxMenu on the client website, I was greeted with very unpleasant behavior. On the very long page or complicated page, IE would freeze for a period of 10-15s. Download stops, but it does not give you the control over page until it finishes processing. Don’t know what exactly it’s doing, but I guess it might be going through complete document tree, for each new hover rule. Or I could be spitting nonsense.
Whatever it is, it was unbearable. Hence the version 2b.
I didn’t do anything spectacular. First, I reincarnated the double style rules - one for IE, one for all other:
#menu li:hover,
* html #menu li.<strong>iehover</strong> {
...
}
Then in the script, for each li
element, I added the class changing code, shown here and there over the Net:
oMenuLI.onmouseover = function() {
this.className += " iehover";
};
oMenuLI.onmouseout = function() {
this.className =
this.className.replace(" iehover", "");
};
All else is identical to existing menus. For those who want to have perfectly valid CSS files, this script is the way to go.
I took the opportunity to implement WCH3. All 2.x examples are updated to use WCH3 and latest corresponding versions of ADxMenu script.