2010-05-24 114 views
4

再次出現一個jQuery,Firefox閃爍的問題。 (在IE6/7/8無閃爍,Safari瀏覽器)jQuery SlideDown在Firefox中閃爍

我這裏上傳的示例頁面: http://sithlord.bplaced.net/testing/jquery_flickering/flickering.html

有兩個DIV容器。內部div是我藏起來的那個。 外面的一個是帶有樣式元素的包裝容器。 我發現閃爍僅出現在選擇框中。沒有選擇框,就沒有閃爍。

但那不是全部: (我不能發佈一個第二超鏈接:其在同一條鏈路以上;僅改變「flickering.html」到not_flickering.html)

在這種情況下,我所選擇的較低的「選項「 - 正如你所看到的,在這種情況下,閃爍消失。 當總共有更少的選項時,情況也是如此。 (小於20)

唯一的,我發現變通辦法刪除選擇框:)

任何想法,爲什麼發生這種情況,如何解決?

謝謝!

+0

現代Firefox如何處理CSS的已知問題https://bugzilla.mozilla.org/show_bug.cgi?id=787647 – hinekyle 2013-01-29 20:45:44

回答

0

找到了這個post。嘗試在隱藏的div上設置寬度或高度。我注意到你的div上沒有樣式,所以它可能會起作用。

都市報

+0

嗨大都會, 感謝您的回答。 你的意思是這樣的? http://sithlord.bplaced.net/testing/jquery_flickering/hidden_​​select_appended.html 但現在你會得到一個其他不好的影響。你會看到選擇框出現。 還有一個問題,爲什麼這個閃爍出現與大隱藏選擇框:) 問候 Sithlord – Sithlord 2010-05-24 18:58:47

+0

寬度和高度arent幫助。同樣的閃爍。 – Sithlord 2010-05-24 20:38:17

+0

只是踢...試圖改變所有p標籤到div標籤... – Metropolis 2010-05-24 20:54:38

0

請參閱http://dev.jquery.com/ticket/5743爲什麼這樣的事情通常也可以使用jQuery。簡而言之,不帶參數的css函數聲明只返回值而不更新任何內容,但它在某些情況下實際上更新了DOM。

5

overflow:hidden;直接應用於包含div的作品。

0

我在這有點晚,但我遇到了類似的問題。我的解決方案:設置display:none在動畫之前選擇,然後顯示:block之後。例如:

$("div#hidden").hide(); 
    $("a").click(function(e) { 
    e.preventDefault(); 
    $("div#hidden select").css('display','none'); 
    $("div#hidden").slideDown(1000); 
    $("div#hidden select").css('display','block'); 
    }); 
}); 

你也可以使用jQuery的顯示/隱藏功能,如果你想。