JS - JSON / ARRAY在构造函数中传递变量(自定义库)

时间:2015-06-23 08:39:32

标签: javascript arrays json object constructor

如果我按照文档说明,设置数据条目的正确方法是:

$("#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))。我不知道如何在构造函数中传递变量。

这似乎是一个非常简单的问题,但我找不到任何解决方案。 请帮帮我:)

1 个答案:

答案 0 :(得分:2)

我认为这应该有效:

var pages = [];
$(xml).find('page').each(function(i) {
  var singlepage = {
    src: "image1.jpg",
    thumb: "thum1.jpg",
    title: "Page " + ++created;
  };
  pages.push(singlepage);
});

你可以传递pages对象:

 $("#tabs-" + id + "").flipBook({
   pages: pages
   // ...
 });