Forum Moderators: open
How can I fix this?
Shelle uk
[edited by: engine at 3:46 pm (utc) on Dec. 10, 2003]
[edit reason] No urls, thanks. See TOS [webmasterworld.com] [/edit]
Show/Hide Layers often causes problems as people don't apply the behaviours to the correct triggers - remember what's shown must always be able to be hidden again and vice versa...
In your case it sounds as though your Flash layer is not being hidden under certain circumstances.
Am sure my triggers are all OK - I am wondering if it's just simply the case that flash movies sit on top of everything else no matter what behaviours you apply to the layers....? Am using Dreamweaver by the way...
Michelle
You're correct that Flash normally sits on top of content - but not if it is in a layer (div) which has had its visibility changed. Try, for example, changing the Flash layer to invisible in the Layers panel (the closed eye) and seeing if you can still spot it in Mac (I'm betting you won't).
Most show/hide behaviour systems work with showing and hiding layers for _each_ change and having a "closer" layer - I suspect that all your triggers don't have the proper changes or that the Mac browser is positioning a closer layer improperly.
(There is a free AutoHide Dreamweaver extension which makes systems like this a bit easier.)
What's a closer layer?
Will check out the D/W extension
Thanks Steve
Michelle
Thus, if I understand your page correctly, your main triggers should hide the Flash layer and show the correct layer for the trigger. When the mouse moves off that trigger the closer layer surrounding it should prompt a return to normal (i.e. should make the Flash visible again).
You could also do this by leaving the Flash layer visible at all times and then covering it with the triggered layers on demand, but then you need to take care of the z-index, sizing and background of the layers on top.
<body onload=("MM_preloadImages'images/image1.gif','images/image2.gif');MM_showHideLayers 'Layer1','','show','Layer2','','hide')">
That will load the images and set the layer properties for the initial page load.
Then make sure you use something like this in the trigger.
<a href="javascript:;" onMouseOver="MM_showHideLayers('Layer1','','hide','Layer2','','show')"
onMouseOut="MM_showHideLayers('Layer1','','show','Layer2','','hide')">
Should work ok.