2012-11-12 176 views
0

我在jQuery中編寫了一些燈箱風格的彈出窗口。它適用於所有體面的瀏覽器,除了IE9(如果被認爲是一個體面的瀏覽器)。如果單擊它,它會正常工作:彈出窗口打開,沒有什麼不尋常的。但是,只要您移動光標,所有內容都會閃爍,消失或IE9能夠破壞功能。jQuery隱藏/顯示IE9渲染問題

我不知道這是怎麼發生的(也因爲它不會發生在IE8中)。我已經給出了使用適當位置和z索引的所有元素。問題不在於黑屏疊加(它只是一個帶有透明背景的div,z-index遠低於居中內容),我已經通過從代碼中完全刪除該元素來測試它。

這裏是我用來隱藏代碼/顯示DIV:

//open popup 
$(".pop").click(function(){ 
    $refselector = "." + $(this).attr("rel") 
    $($refselector).fadeIn(500); 
    $(".ui-overlay").fadeIn(50); 
positionPopup(); 
}); 

//close popup 
$(".close").click(function(){ 
    $(".overlay-form").fadeOut(500); 
    $(".ui-overlay").fadeOut(500); 
}); 

//close popup by clicking outside the box 
$(".ui-overlay").click(function(){ 
    $(".overlay-form").fadeOut(500); 
    $(".ui-overlay").fadeOut(500); 
}); 

如果你想看到它在行動:http://www.puurtrainingen.nl/referenties,然後單擊任意四盒。

如果有人遇到過這樣的問題並且知道解決方案:感謝您的幫助!

在此先感謝

+0

你現在確定了ID,是嗎?我只是想看看問題的實際情況,看看它與IE9的關係如何(不要笑,我們有業務需求來支持它)。您介意將原始頁面張貼在某處以供參考嗎? – Marcel

回答

0

.page-itemoverflow: hidden引起的問題。

您可以更改.page-item的CSS規則或將.overflay-form移動到另一個容器。

+0

夥計,真棒!永遠不會想到這一點,我擔心我不得不重寫JavaScript :)謝謝! – smelly586

+0

歡迎。 IE總是那樣的事情。 – xiaoyi

0

我想開口,其嵌套在一個無序列表中的彈出,當我有一些類似的問題。也許你可以嘗試將你的彈出html放在ul之外?

無論如何,我一直很滿意http://fancybox.net/它爲你彈出的東西。如果你還沒有聽說過這個,我建議看看它。