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

JS - JSON/ARRAY pass variable in Constructor (custom library)

本文关键字:ARRAY 变量 JSON 中的 构造函数 自定义 JS-      更新时间:2023-09-26

如果我遵循文档,设置数据项的正确方法是:

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

这似乎是一个很简单的问题,但我找不到任何解决办法。请帮帮我:)

我认为这应该有效:

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
   // ...
 });