轉帖|其它|編輯:郝浩|2012-01-20 00:12:00.000|閱讀 781 次
概述:我不是做網頁設計的,所以碰到這個問題時感覺好偏啊,不過,最后有幸解決了,高興一下,也總結一下。問題的情況是這樣的,做了一個頁面,頁面中有一個日期選擇的js,日期下面是FusionChartsFree 生成的flash圖表,他們都是放在div標簽里面的,在頁面加載完成后,點擊日期選擇時,出現的日期圖片被flash遮住了,沒法選擇。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
我不是做網頁設計的,所以碰到這個問題時感覺好偏啊,不過,最后有幸解決了,高興一下,也總結一下。
問題的情況是這樣的,做了一個頁面,頁面中有一個日期選擇的js,日期下面是FusionChartsFree 生成的flash圖表,他們都是放在div標簽里面的,在頁面加載完成后,點擊日期選擇時,出現的日期圖片被flash遮住了,沒法選擇。
我猜就是div有層次的問題,于是我就在網上查資料,有點收獲,知道div層次是可以用z-index 來設置的。但是對這兩個div ,我怎么設置就沒效果,日期依然在flash下面。正當我準備放棄的時候,突然想到是不是flash有些特殊呢,然后我又在網上搜了一下,發現了這篇文章
引用
<param name="WMODE" value="transparent">
<param name="wmode" value="Opaque">
<param name="wmode" value="Window">
NOTE: 支持其它瀏覽器(firefox opera etc.) 則使用 <embed wmode="transparent" />在embed節點中加入wmode值.
window 模式
默認情況下的顯示模式,在這種模式下flash player有自己的窗口句柄,這就意味著flash影片是存在于Windows中的一個顯示實例,并且是在瀏覽器核心顯示窗口之上的,所以flash只 是貌似顯示在瀏覽器中,但這也是flash最快最有效率的渲染模式。由于他是獨立于瀏覽器的HTML渲染表面,這就導致默認顯示方式下flash總是會遮 住位置與他重合的所有DHTML層。
但是大多數蘋果電腦瀏覽器會允許DHTML層顯示在flash之上,但當flash影片播放時會出現比較詭異的現象,比如DHTML層像被flash刮掉一塊一樣顯示異常。
Opaque 模式
這是一種無窗口模式,在這種情況下flash player沒有自己的窗口句柄,這就需要瀏覽器需要告訴flash player在瀏覽器的渲染表面繪制的時間和位置。這時flash影片就不會在高于瀏覽器HTML渲染表面而是與其他元素一樣在同一個頁面上,因此你就可 以使用z-index值來控制DHTML元素是遮蓋flash或者被遮蓋。
Transparent 模式
透明模式,在這種模式下flash player會將stage的背景色alpha值將為0并且只會繪制stage上真實可見的對象,同樣你也可以使用z-index來控制flash影片的 深度值,但是與Opaque模式不同的是這樣做會降低flash影片的回放效果,而且在9.0.115之前的flash player版本設置wmode=”opaque”或”transparent”會導致全屏模式失效。
了解了各種模式的實現方式和意義在以后的開發中就可以按照具體情況選擇設置wmode屬性的值了。
看完這個我明白了,把flash的wmode設置成opaque就行了,剩下的事情就是改FusionCharts的參數了,這東西今天剛剛試著在用,把他的js文件拿出來看了一遍才知道怎么設置,在頁面上加載flash的js代碼中加上這句 chart.addParam("wmode","Opaque");就ok了~
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載