我很难尝试构建并将数组传递给插件。
如果我在这里明确地给出了有效的图片网址,那么该插件会有用并且有效:
$( '#gallery' ).click( function( e ) {
e.preventDefault();
$.swipebox( [
{ href:'big/image1.jpg', title:'My Caption' },
{ href:'big/image2.jpg', title:'My Second Caption' }
] );
} );
所以我想我可以在下面构建我想要使用的图像的字符串变量。当我查看你在这里看到的附加测试时,输出看起来是正确的,但它不起作用:
var thisarray = "";
$('#%id% #gallery img').each(function(){
var thisimageurl = $(this).attr("src");
var thisimagetitle = $(this).attr("title");
var thisitem = "{ href:'" + thisimageurl + "', title:'" + thisimagetitle + "' },";
thisarray += thisitem;
});
$('#%id%').append(thisarray); // looks like it should
$( '#gallery' ).click( function( e ) {
e.preventDefault();
$.swipebox(
[thisarray]
);
} );
我不能将这样的构造字符串传递给插件。?
答案 0 :(得分:0)
请尝试改为:
var thisarray = [];
并在每个循环内推送对象:
thisarray.push({ href: thisimageurl, title: thisimagetitle });
然后调用插件:
$.swipebox(thisarray);