我试图在IE 11中找到requestAnimationFrame()
方法的修补程序。我一直在浏览Web来查找解决方案。到目前为止,我已尝试包括polyfills,但该错误并未消失。
有人有解决IE11错误的方法吗?
这是使用jQuery 3.4的example,它使用requestAnimationFrame()
方法作为fadeToggle()
方法。您将能够检查IE11中的闪烁。
最佳答案
您可以尝试使用下面提到的一种合适的方法来解决问题。
添加背景色
使用CSS在正在淡入或淡出的元素上设置背景色。这是解决问题的最基本方法。
删除清除类型过滤器
淡入元素后,您可以添加此简单的回调函数来修复该错误。
$('#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/