2

我在我的网站上使用 Galleria 图片库。问题是:当我第一次运行 Galleria 时,初始图像不是第一个,Galleria 会显示初始图像片刻,然后滑回第一张图像。当我点击更多拇指时,Galleria 会正确运行,所以这只是第一次发生。这是我用来初始化 Galleria 的代码:

$('.thumbnail').live('点击', function(){   

            var image_number = getNumber($(this).attr('id'));
            Galleria.ready(功能(选项){
                this.show(image_number);
            });
            Galleria.run('#galleria');
            $('#galleria_frame').show();    
           });

getNumber 是我的函数,它返回图库中图像的数量,第一张图像的编号为 0,第二张图像的编号为 1,等等。
我的错误在哪里?为什么我第一次点击 .thumbnail 时,Galleria 会滑回第一张图片?

4

1 回答 1

2

您的代码有几个问题。

1)您正在多次初始化 Galleria(每次单击缩略图时)

2)您正在向ready事件添加多个侦听器,每次您告诉 Galleria 在加载时显示不同的图像。

试试这个:

$('.thumbnail').live('click', function(){   
    var image_number = getNumber($(this).attr('id')),
        instance = $('#galleria').data('galleria');

    // if Galleria already loaded, just show the index:
    if (instance) {
        instance.show(image_number);
    } else {
    // else fire up Galleria and pass the index as an option
        $('#galleria_frame').show();
        Galleria.run('#galleria', { show: image_number });
    }
});
于 2012-08-25T17:56:14.450 回答