Jquery适用于IE以外的每个浏览器

时间:2012-05-16 18:44:00

标签: javascript jquery html css

对于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不想阅读代码来做我需要的...我缺少什么?提前谢谢!

3 个答案:

答案 0 :(得分:4)

你的IE6版本中有太多的结束括号,请看这里:

});
}; <- delete me

删除};你应该是好的:)

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

{ <- delete that!

//--my code
$(document).ready(function() 
{

答案 1 :(得分:1)

您的document.ready()外部的开启和关闭括号是否是代码的一部分?

删除第一个

{

也是最后一次

};

你不需要用括号包装所有东西。

答案 2 :(得分:0)

交换这两个:

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

应该是

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

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

参考这个答案:Check if dynamically loaded images are complete