0
$(function()
{
    var list = $('#ulGall li');
    currentItem = 0;

    function changeToSlide(index) 
    {
        var i = index;
        var nextImage = "url(" + $('#ulGall img' + ':eq(' + i +')').attr('src');
        $('#gall').css('background-image', nextImage);
    }

    $('#gRight').click(function() 
    {
        var i = currentItem;
        if ( i < (list.length - 1))
        {
            changeToSlide(i+1);
            currentItem += 1;
        } 
        else 
        {
            changeToSlide(0);
            currentItem = 0;   
        }

        $("#gInfo").hide();
    });

    changeToSlide(0); // this is the starting background of #gall
});

このコードは別のファイルにあり、#gall の背景画像を変更します (#gRight をクリック)
。Firefoks では完全に機能しますが、IE8 と Chrome では機能しません。
同じファイルに別のjQuery関数があり、IEとChromeで動作します。
Opera と Safari ではテストされていません。

このコードを次のようにするにはどうすればよいですかcross-browser

4

1 に答える 1

3

終わりの右中括弧がないようです

"url(" + $('#ulGall img' + ':eq(' + i +')').attr('src') + ")"  ;
                                                           ^-- Missing

これはIE-8、悪い HTML が台無しになる可能性があるため、動作に影響を与える可能性があります..

その場合、そもそもレンダリングHTML is not properly formedされない可能性があります。

また、最後に余分な閉じ括弧があります.. }); .. それも削除してください

于 2012-12-13T17:21:59.920 に答える