昨天下午在做一个页面的时候,发现了这样一个问题。页面中有一个对鼠标划过有响应的FLASH动画。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0"
id="index" width="266" height="266">
<param name="movie" value="http://homepage.fudan.edu.cn/~jmedia/1.swf>
<param name="bgcolor" value="#F8F7EF">
<param name="quality" value="high">
<param name="allowscriptaccess" value="samedomain">
<embed type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
width="266" height="266"
name="index" src="index.swf"
bgcolor="#F8F7EF" quality="high"
swLiveConnect="true" allowScriptAccess="samedomain"
></embed>
</object>
这个时候发现一个问题,鼠标划过FLASH动画时会出现频闪的问题,即鼠标形状在手形和箭头形状不停得变换。一开始以为是FLASH动画本身的问题,比如因为文字间的间隙造成的,但是制作了FLASH时已经选择了块状化了,甚至在文字底部再铺一层透明的矩形也不行。
后来发现这个FLASH动画在播放器中播放时是完全正常的,再发现如果在一个只含这个FLASH动画的页面中效果也是完全正常的。我便开始怀疑起页面中其他的代码了。
嫌疑最大的就是页面中同时存在的marquee代码了,去掉以后,果然页面显示正常了。
结论是由于marquee滚动时页面本身闪动,使FLASH动画的鼠标响应出现冲突。应该避免这种情况的出现。
如果一定要用到两个同时出现的话,那么在原来marquee的位置建立一个iframe框架,嵌入原来marquee的内容就好了,而我也是这么做的。
感谢Moron在解决问题中给与的热情帮助!