编辑:这是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;线。有没有人有任何建议?
答案 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,
});
答案 1 :(得分:-1)
如果我能看到整个文件,我可以帮助你。但也许问题是.length。尝试.length()或.length()&lt; = 1或组合:)