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 回答