这就是问题所在,不幸的是我们必须支持 IE8。
所以我不得不从使用最新的 jQuery 2.0+ 改回jQuery 1.9。
现在我们使用大量的 jQuery 来加载仪表板的不同部分,我们fadeOut
以前的屏幕和fadeIn
新屏幕。我以为我已经用我在这里(prepend html)和这里(ajax HTML)找到的解决方案解决了所有这些问题。
但是仍然存在以下相同错误消息的另一个问题:
错误:
Uncaught TypeError: Cannot set property 'cur' of undefined
我已将源范围缩小到loadResource函数,该函数用于切换内容。
基本上,如果我从下面的函数中注释掉这一行:
$content.fadeIn('fast');
并将其替换为
$content.show();
问题已解决,我们不再收到“cur”错误。但是我们失去了淡入淡出效果。
你将如何解决这个Uncaught TypeError
在 jQuery 1.9中解决的问题,同时保持我们的 fadeIn
效果$content
?
var loadResource = function(url, params, callback) {
WHOAT.networking.getToServerWithAjax(url, params, function (response) {
var $content = $($.parseHTML(response.trim()));
var $container = $('#dashboard-display');
var $content_to_hide = $container.children();
$.when($content_to_hide.fadeOut('fast')).then(function () {
$content.hide();
$container.append($content);
//$content.fadeIn('fast'); // <- buggy in 1.9.1
$content.show(); // <- works, but no fadeIn
$content_to_hide.remove();
if(callback) {
callback();
}
});
});
// CSS updates...
};