0

对于 IE,此代码有效,我做了只有 IE 才能读取的 IE 注释。

<!--[if gt IE 6]>
<script type="text/javascript" 
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
{

    //--my code
    $(document).ready(function() 
    {
        $('.thumbnail').live("click", function() 
        {
            $('#mainImage').hide();
            $('#imageWrap').css('background-image', "url('ajax-loader.gif')");
            var i = $('<img />').attr('src',this.href).load(function() 
            {
                $('#mainImage').attr('src', i.attr('src'));
                $('#imageWrap').css('background-image', 'none');
                $('#mainImage').fadeIn();
            });
            return false; 
        });
    });
};


</script> <![endif]-->

对于其他所有浏览器,此代码都有效...

<script type="text/javascript">
$(document).ready(function() {
    $('.thumbnail').live("click", function() {
        $('#mainImage').hide();
        $('#imageWrap').css('background-image', "url('ajax-loader.gif')");
        var i = $('<img />').attr('src',this.href).load(function() {
            $('#mainImage').attr('src', i.attr('src'));
            $('#imageWrap').css('background-image', 'none');
            $('#mainImage').fadeIn();
        });
        return false; 
    });
});


</script>

我得到了工作代码,即使他们每个人都做不同的事情,他们做我需要他们做的事情。唯一的事情是 IE 不想阅读代码来做我需要的事情......我错过了什么?提前致谢!

4

3 回答 3

4

您的 IE6 版本中有太多右括号,请参见此处:

});
}; <- delete me

删除};,你应该很好:)

编辑:你一{开始也有一个流氓,也摆脱它,它在这里:

{ <- delete that!

//--my code
$(document).ready(function() 
{
于 2012-05-16T18:49:17.800 回答
1

document.ready() 外部的左大括号和右大括号是代码的一部分吗?

删除第一个

{

也是最后一个

};

你不需要用大括号把所有东西都包起来。

于 2012-05-16T18:51:36.253 回答
0

交换这两个:

$('<img />').attr('src',this.href).load(function()

应该

$('<img />').load(function(){...}).attr('src',this.href)...

这样一旦图像被缓存,它将在 IE6-IE8 中工作。

参考这个答案:检查动态加载的图像是否完整

于 2012-05-16T18:50:45.513 回答