2013-03-26 36 views
0

我在網站上使用fancybox製作this test page,在PC上的所有Mac瀏覽器,iOS和非IE瀏覽器上均可正常使用。最新的Windows 8上的IE也很好。但XP上的IE8,7和6不會在頁面上顯示透明覆蓋圖或彈出框陰影,並且彈出窗口下的頁面上的鏈接仍可點擊(我不想)。 (注意,測試頁面上的彈出式圖像不一定是正確的最後一個 - 沒關係)。Fancybox覆蓋不存在於舊IE瀏覽器

也許我已經搞亂了js的某處(除了能夠改變非常基本的配置,我在js中沒有專業知識)。我注意到fancybox演示頁面在較老的IE中工作正常。

我不喜歡老式IE中的盒子陰影,但我需要疊加層的模態行爲。

任何指向我出錯的地方都會非常感激。

回答

1

那麼,這是一個典型的情況,修改原始fancybox文件不是一個好主意(除非你知道你在做什麼)。創建自己的自定義腳本來修改默認設置總是更好。

在你的「改裝」的fancybox js文件,你在排隊1707添加了這個:

css : { 
    'background' : 'rgba(200,200,200,0.35)' // changing here does change overlay colour 
}, // custom CSS properties 

這種變化抑制的fancybox的疊加圖像被渲染,如的fancybox css文件的151行設置:

.fancybox-overlay { 
    background: url("fancybox_overlay.png") repeat scroll 0 0 transparent; 
    /* other properties here */ 
} 

IE8及更低版本不支持RGBa因此不存在覆蓋。儘管如此,將回退聲明設置爲建議HERE以避免這類問題是個不錯的主意。

下一次嘗試使用您自己的自定義腳本覆蓋默認設置並保留原始文件。

編輯

如果你想設置自己的PNG 覆蓋圖像背景(有自己的顏色和透明度),然後只需添加到您的自定義腳本:

helpers: { 
    overlay: { 
     css: { 
      'background-image': 'url("path/my_own_overlay.png")' 
     } 
    } 
} 

離開單獨的原始fancybox_overlay.png文件。

+0

現貨 - 再次感謝。我會盡力減少那些我不瞭解的東西。那麼有沒有辦法改變疊加顏色,或者我應該改變fancybox_overlay.png? – peterh 2013-03-26 19:44:24

+0

@peterh:我不會更改fancybox_overlay.png,請參閱我編輯的選項的答案。 – JFK 2013-03-26 20:14:22

+0

好的,理解。 – peterh 2013-03-26 21:04:13