再一次jQuery,Firefox闪烁问题。 (在IE6 / 7/8,Safari中没有闪烁)
我在这里上传了一个示例页面: http://sithlord.bplaced.net/testing/jquery_flickering/flickering.html
有两个div容器。内部div是我隐藏的那个。 外层是带有样式元素的包装容器。 我发现闪烁只发生在选择框中。没有SelectBox就没有闪烁。
但不是全部: (我无法发布第二个超链接:它与上面相同的链接;只将“flickering.html”更改为not_flickering.html)
在这种情况下,我选择了较低的“选项” - 如您所见,在这种情况下闪烁消失。 当总共有较少的选项时,情况也在发生。 (不到20左右)
我找到的唯一解决方法是删除选择框:)
任何想法,为什么会发生这种情况以及如何解决它?
谢谢!
答案 0 :(得分:5)
溢出:隐藏;直接应用于包含div工程。
答案 1 :(得分:0)
找到此post。尝试在隐藏的div上设置宽度或高度。我注意到你的div上没有样式,所以它可能会起作用。
大都市
答案 2 :(得分:0)
请参阅http://dev.jquery.com/ticket/5743为什么jQuery通常可以实现这些功能。简而言之,没有参数的css函数声称只返回值而不更新任何东西,它实际上在某些情况下更新了DOM。
答案 3 :(得分:0)
我有点迟到了,但我遇到了类似的问题。我的解决方案:将display:none设置为动画前的选择,然后显示:block after。例如:
$("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 show / hide功能。