如果一张图片

时间:2015-12-31 16:00:25

标签: jquery fancybox

编辑:这是jsfiddle。我试图让第二张图片(鸟)只在按钮帮助器上显示切换和关闭,因为它只在图库中有一个图像。

如果只有一张图片,我试图删除按钮助手上的上一个,前进和前进按钮。

$(document).ready(function() {
    $('.fancybox-buttons').fancybox({
        helpers: {
            buttons: {
                if (this.group.length == 1) {
                    tpl: '<div id="fancybox-buttons"><ul style="width:74px"><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>',
                } else {
                    tpl: '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous"></a></li><li><a class="btnPlay" title="Start slideshow"></a></li><li><a class="btnNext" title="Next"></a></li><li><a class="btnToggle" title="Toggle size"></a></li><li><a class="btnClose" title="Close"></a></li></ul></div>',
                }
            },
        },
    });
});

显然我不知道我在做什么。这给了我一个&#34; SyntaxError:缺少形式参数&#34;在&#39; if(this.group.length == 1)&#39;线。有没有人有任何建议?

2 个答案:

答案 0 :(得分:0)

语法错误是由if ... else条件语句引起的,它们不能以这种方式存在于对象内部。

你可以试试这样的事情:

$(document).ready(function() {
    var fancyTpl = $('.fancybox-buttons').length === 1
        ? '<div id="fancybox-buttons"><ul style="width:74px"><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'
        : '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous"></a></li><li><a class="btnPlay" title="Start slideshow"></a></li><li><a class="btnNext" title="Next"></a></li><li><a class="btnToggle" title="Toggle size"></a></li><li><a class="btnClose" title="Close"></a></li></ul></div>';

    $('.fancybox-buttons').fancybox({
        helpers: {
            buttons: {
                tpl: fancyTpl
            },
        },
    });
});

未经测试,但是如果将可选的loop参数设置为false,则可以自动禁用1个图像的按钮,如:

$('.fancybox-buttons').fancybox({
    loop: false,
});

Reference to fancyBox options

答案 1 :(得分:-1)

如果我能看到整个文件,我可以帮助你。但也许问题是.length。尝试.length()或.length()&lt; = 1或组合:)