IEFilters should be applied as a string, which means the
value you supply should always be in quotes.
Allowed values for IEFilters are dicated by Microsoft's own syntax,
and, for the most part, mirror the syntax used when adding a filter effect to an
element via a style sheet rule. The only exceptions to this rule are that the entire
filter assigment must be enclosed in quotes (which means embedded, quoted parameters
must use the alternate quotes), and that the leading filter: designation should
not be included. So, for example, in a style sheet you might implement a drop shadow
filter like this:
filter:progid:DXImageTransform.Microsoft.DropShadow(color="#66996633")
But in HierMenus it would look like this:
IEFilters:"progid:DXImageTransform.Microsoft.DropShadow(color='#66996633')",
Each filter is defined by Microsoft to use its own set of parameters, with their
own allowed values. A full explanation for each of these possibilities is beyond the
scope of our HierMenus documentation. For complete syntax details, visit Microsoft's
own documentation on the subject:
MSDN: Filters and Transitions
Multiple filters may be supplied within IEFilters; they will be applied to the
menu in the order in which they are defined. To specify multiple filters in IEFilters,
separate each new filter designation with a blank space.
The older Microsoft filter syntax (alpha(opacity=50),
for example) is not supported by HierMenus.
A couple specific filters deserve special mention here. The Alpha filter is
also used directly by HierMenus to implement its own MenuOpacity and
ItemOpacity settings. Therefore, if you wish to control your menu
opacity using the Alpha filter, then you should conditionally exclude
IE5.5 and later from your opacity settings (or leave the opacity settings to
null, in which case only IE5.5 and later will display your menus with
opacity as intended). You can exclude IE5.5 from opacity settings like this:
MenuOpacity:(window.HM_IE55)?null:.7,
The Light filter is controlled entirely via script methods; thus once you
define it with IEFilters, you'll then need to finish it using
additional custom code. One good place to implement this code is in the menu's
HM_OnMenuCreated event hook.
See the sample pages for examples of live Internet Explorer
menu transitions.
// Ok:
IEFilters:"progid:DXImageTransform.Microsoft.Fade(duration=1)",
IEFilters:null,
IEFilters:(window.useFade)?
"progid:DXImageTransform.Microsoft.Fade(duration=1)":null,
// if the user defined variable "useFade" is set,
// apply fade transition filter
// Incorrect:
IEFilters:progid:DXImageTransform.Microsoft.Fade(duration=1),
// outer quotes required
IEFilters:"progid:DXImageTransform.Microsoft.GradientWipe(motion="reverse")",
// inner quotes ("reverse") should be
// opposite of outer ('reverse')
IEFilters:"filter:progid:DXImageTransform.Microsoft.GradientWipe(motion='reverse')",
// do not include the word "filter:"
IEFilters:"null", // quotes not allowed around null
IEFilters:'(window.useFade)?
"progid:DXImageTransform.Microsoft.Fade(duration=1)":null',
// no quoted expressions