【发布时间】:2015-06-23 08:39:32
【问题描述】:
如果我遵循文档,设置数据输入的正确方法是:
$("#container").flipBook({
css:"css/style.css",
pages:[
{
src:"images/book1/page1.jpg",
thumb:"images/book1/thumb1.jpg",
title:"Cover",
htmlContent:''
},
{
src:"images/book1/page2.jpg",
thumb:"images/book1/thumb2.jpg",
title:"Page two"
},
etc.. etc..
],
btnNext:true,
btnPrev:true,
btnZoomIn:true,
btnZoomOut:true,
other parameters...
所以,我想动态插入数据。 我声明了一个新数组,然后从 xml 文件中滚动所有页面,创建一个对象,最后将对象推送到声明的第一个数组中。 var page = new Array();
var created=0;
bla bla bla
$(xml).find('page').each(function(i){
var singlepage = new Object();
singlepage.src ="image1.jpg";
singlepage.thumb="thum1.jpg";
created++;
singlepage.title="Page "+created;
page.push(JSON.stringify(singlepage));
});
var book = {};
book["book-"+id] = $("#tabs-" + id + "").flipBook({
pages: ????????,
btnNext:true,
etc.. etc..
我尝试输入page、[page]、JSON.parse(JSON.stringify(page))。我不知道如何在构造函数中传递变量。
这似乎是一个非常简单的问题,但我没有找到任何解决方案。 请帮帮我:)
【问题讨论】:
-
将
page.push(JSON.stringify(singlepage));更改为page.push(singlepage);和pages: page,应该可以正常工作。JSON.stringify将对象转换为字符串。你想要一个对象,所以不要转换它。 -
显然,据我所知,
pages属性的预期输出是一个对象数组,因此只需删除JSON.stringify并设置pages: page跨度>
标签: javascript arrays json object constructor