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

この 2 つを入れ替えます。

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

する必要があります

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

画像がキャッシュされるとIE6-IE8で動作するように。

この回答への参照:動的にロードされた画像が完全かどうかを確認してください

于 2012-05-16T18:50:45.513 に答える