你如何修复在jQuery中使用slideToggle时出现的闪烁?

go *_*mal 12 javascript jquery

我有一个简单的无序列表,我希望在点击时使用jQuery slideUp和slideDown效果显示和隐藏.一切似乎工作正常,但在IE6中,列表将向上滑动,闪烁一瞬间,然后消失.

有谁知道修复此问题?

谢谢!

小智 22

为额外评论道歉(我不能对Pavel的答案进行投票或评论),但添加DOCTYPE为我解决了这个问题,而slideUp/Down/Toggle效果现在可以在IE7中正常运行.

有关DOCTYPES的更多信息,请参阅A List Apart,或者您可以尝试指定相当宽松的4/Transitional:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Run Code Online (Sandbox Code Playgroud)

  • 令人惊讶的是DOCTYPE如何能够产生如此巨大的变化 (2认同)

Rya*_*ary 10

只是让IE6闪烁.当您的基本功能运行良好时,我认为在垂死的浏览器上投入时间是不值得的.如果您担心出于可访问性原因而闪烁,只需嗅探IE6并使用通用show()和hide()替换动画.我建议避免使用无关紧要的边缘情况的复杂代码.


Oli*_*Oli 9

$(document).ready(function() {
    // Fix background image caching problem
    if (jQuery.browser.msie) {
        try { 
            document.execCommand("BackgroundImageCache", false, true); 
        } catch(err) {}
    }
};
Run Code Online (Sandbox Code Playgroud)

显然.