我正在尝试寻找 IE 11 中 requestAnimationFrame()
方法的修复方法。我一直在浏览网页寻找解决方案。到目前为止,我已经尝试包含polyfills,但错误并没有消失。
有人有解决 IE11 错误的方法吗?
这是一个example使用 jQuery 3.4,它使用 requestAnimationFrame()
方法作为 fadeToggle()
方法。您将能够在 IE11 中检查闪烁情况。
最佳答案
您可以尝试使用下面提到的合适方法之一来解决该问题。
添加背景颜色 使用 CSS 在淡入或淡出的元素上设置背景颜色。这是解决问题最基本的方法。
删除 CLEARTYPE 过滤器 淡入元素后,您可以添加这个简单的回调函数来修复错误。
$('#fadingElement').fadeIn(2000, function(){
this.style.removeAttribute('filter');
});
- 使用自定义淡入/淡出方法 此方法可替代 jQuery 的内置 fadeIn() 和 fadeOut() 方法。
(function($) {
$.fn.customFadeIn = function(speed, callback) {
$(this).fadeIn(speed, function() {
if(jQuery.browser.msie)
$(this).get(0).style.removeAttribute('filter');
if(callback != undefined)
callback();
});
};
$.fn.customFadeOut = function(speed, callback) {
$(this).fadeOut(speed, function() {
if(jQuery.browser.msie)
$(this).get(0).style.removeAttribute('filter');
if(callback != undefined)
callback();
});
};
})(jQuery);
引用文献:
(1) jQuery fadeIn & fadeOut Problems in Internet Explorer
(2) How to Fix jQuery's Fade In/Out Functions for Internet Explorer
注意:我已在代码片段中添加了代码,因为该网站未使用代码块正确格式化代码。
关于javascript - 如何防止 IE11 中 requestAnimationFrame() 闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55943380/