IE浏览器功能令人惊叹,令我震惊。这一次确保了jQuery.min文件(google CDN)中的一个可爱错误,从而导致我的jquery不通过AJAX加载内容。
以下是链接:http://themes.thefinishedbox.com/portfolio/
点击任何其他浏览器中的顶部链接,然后在IE中进行测试,您将看到他们通过jQuery将外部页面加载到附加的div中。
我注意到在IE8中它似乎得到了加载器图标并且没有加载页面。我已经提醒了$ href变量,这似乎是相关的URL。不确定这里发生了什么?
这是源代码,如果有帮助,或者你可以只看它RAW:http://themes.thefinishedbox.com/portfolio/wp-content/themes/portfolio/js/custom.js?ver=3.1(你要看第二个$(函数()
$(function() {
$('#navigation ul > li a').each(function() {
$(this).click(function(e) {
$('*').removeClass('active');
$.ajaxSetup ({
cache: false
});
var $this = $(this);
e.preventDefault();
var $url = $(this).attr('href');
var $loader = '<div id="whiteLoader" />';
if($('#page').length === 0) {
$('<div id="page" />').insertAfter('#header');
$('#page').queue(function() {
$(this).animate({height: '120px'}, 300);
$(this).html($loader);
$(this).animate({backgroundColor: '#fff'}, 300);
$(this).dequeue();
});
$('#page').queue(function() {
$('#page').load($url + ' #pageEntry', function() {
var $height = $('#pageEntry').height();
var $h = $height + 70;
$(this).animate({height: $h + 'px'}, 600, function() {
$(this).css({height: 'auto'});
$this.addClass('active');
});
});
$(this).dequeue();
});
}
if($('#page').length == 1 && $('#pageEntry').length == 1) {
$('#page').slideUp(function() {
$(this).remove();
$this.removeClass('active');
$('<div id="page" />').insertAfter('#header');
$('#page').queue(function() {
$(this).animate({height: '120px'}, 300);
$(this).html($loader);
$(this).animate({backgroundColor: '#fff'}, 300);
$(this).dequeue();
});
$('#page').queue(function() {
$('#page').load($url + ' #pageEntry', function() {
var $height = $('#pageEntry').height();
var $h = $height + 70;
$(this).animate({height: $h + 'px'}, 600, function() {
$this.addClass('active');
});
});
$(this).dequeue();
});
});
}
$('.closex').live('click', function() {
$(this).parent().parent().slideUp(function() {
$(this).remove();
$('*').removeClass('active');
});
});
});
});
});
任何帮助都会受到大力赞赏!
答案 0 :(得分:2)
问题在于您正在尝试为背景颜色设置动画
$(this).animate({backgroundColor: '#fff'}, 300);
除非您包含jQuery UI(实现此功能的 ),否则不支持此操作。
因此,您传递了无效输入,导致IE窒息。
阅读错误http://bugs.jquery.com/ticket/7256以获取更多信息..
包含对jquery UI脚本的引用可修复它(已测试)或注释掉该行(,因为后台已经是白色)。
答案 1 :(得分:0)
您是否尝试升级到最新版本的jquery?当前版本是1.5.2,看起来你正在使用1.4.2。