如何让jquery代码在所有浏览器中运行?

时间:2012-12-13 17:20:10

标签: jquery cross-browser

$(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

1 个答案:

答案 0 :(得分:3)

似乎缺少结束的大括号

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

这可能会影响它在IE-8中的工作方式,因为糟糕的HTML可能会搞砸它。

如果是HTML is not properly formed,那么它首先可能不呈现

最后你还有一个额外的右括号.. }); ..同时删除它