2

如何通过手动调用 html 中的画廊而不是通过 jquery 选项打开fancybox?

这回答了手动打开画廊的问题。

但是,如果我想在图库中打开特定图像怎么办?它可以是图库列表中的任何图像。有没有办法做到这一点?

我试过这个

$("#launcher").on("click", function(){
 $(".fancybox.default").eq(0).trigger("click");
});

我在其中为要显示的图像添加了一个附加类“默认”。

但是当我运行它时,它会显示该图像但没有画廊的下一个/上一个按钮。

4

2 回答 2

2

您必须模拟单击要聚焦的元素。

JQuery 允许您使用.click函数 ( link ) 执行此操作。

我举了一个例子,让它专注于组的元素。第一种方法使用相同的选择器,fancybox 用于创建组

<script>
    $(document).ready(function(){
        //get the group of your fancy elements
        var fancygroup = $("a[rel=example_group]");
        
        // get the element you want to focus (e.g the first element)
        var fancyelem = $(fancygroup.get(1));
        
        // simulate a click
        fancyelem.click();
    });
</script>

或者,您可以为要关注的元素分配一个 ID 并模拟点击它

<p>
    Image gallery (ps, try using mouse scroll wheel)<br />

    <a rel="example_group" href="./example/9_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="./example/9_s.jpg" /></a>

    <a rel="example_group" href="./example/10_b.jpg" title=""><img alt="" src="./example/10_s.jpg" /></a>

    <a id="initthis" rel="example_group" href="./example/11_b.jpg" title=""><img alt="" src="./example/11_s.jpg" /></a>
    
    <a rel="example_group" href="./example/12_b.jpg" title=""><img class="last" alt="" src="./example/12_s.jpg" /></a>
</p>

(分配给第三个元素的id

然后直接选择元素:

<script>
    $(document).ready(function(){   
        $('#initthis').click();
    });
</script>

BR,斯特凡

于 2012-09-13T08:00:09.593 回答
0

$("#ID").click(function () { $("a[rel=gallerimages]").fancybox({ }).trigger('click'); });

于 2012-09-13T08:40:28.537 回答