Aleksandar • Vacić

iOS bits and pieces

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.