2010-07-12 51 views
0

我正在體驗一個使用fancybox jquery插件的小bug。我想使用一個保存圖像文件名的變量來填充fancybox函數中的文件列表。但我似乎無法讓它工作。Fancybox通過變量的文件列表

在這個例子中,我已經手動輸入了文件名,但這是我想用var「files」填充的部分,打印時,它看起來與fancybox函數中的當前文件列表完全一樣,但是當我用該var替換文件列表不起作用。我能察覺的唯一問題是,周圍的文件名引號轉換爲%27

$("#schermafbeeldingen").click(function() { 
     $.post(window.jsRootPath+"includes/getSomeStuff.php", {}, 
     function(data){ 
      //files = data.sFancyBoxParams; 
      var myArray = data.sFancyBoxParams.split(','); 
      files = ''; 
      for (i=0;i<myArray.length;i++) 
      { 
       files += '\'' + myArray[i] + '\'' + ',\n'; 
      } 
      alert(files); 
      files2 = "'http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/1-start.jpg','http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/2-content.jpg','http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/3-_filemanager.jpg','http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/4_-_imagemanager.jpg','http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/5-_seo.jpg','http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/6-banners.jpg','http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/7-downloads.jpg'"; 
      files3 = '"http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/1-start.jpg","http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/2-content.jpg","http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/3-_filemanager.jpg","http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/4_-_imagemanager.jpg","http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/5-_seo.jpg","http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/6-banners.jpg","http://cms.admixconnect.nl/upload/www.zerniq.nl/schermafbeeldingen/7-downloads.jpg"'; 
      $.fancybox([ 
       'http://www.test.com/schermafbeeldingen/1-start.jpg', 
       'http://www.test.com/schermafbeeldingen/2-content.jpg', 
       'http://www.test.com/schermafbeeldingen/3-_filemanager.jpg', 
       'http://www.test.com/schermafbeeldingen/4_-_imagemanager.jpg', 
       'http://www.test.com/schermafbeeldingen/5-_seo.jpg', 
       'http://www.test.com/schermafbeeldingen/6-banners.jpg', 
       'http://www.test.com/schermafbeeldingen/7-downloads.jpg' 
      ], { 
       'padding'   : 0, 
       'transitionIn'  : 'none', 
       'transitionOut'  : 'none', 
       'type'    : 'image', 
       'changeFade'  : 0, 
       'overlayOpacity' : 0.8 
      }); 
     }, "json"); 
    }); 

回答

1

使用警報,files可以像傳遞給函數的fancybox的數組,但事實並非如此。 files,因爲你正在定義它,是一個字符串,而你傳入的數組是一個..數組:)我不知道fancybox的詳細信息,但我想它可以採取一個圖像網址陣列,並作出它的幻燈片。當你將一個字符串傳遞給它時,它很可能會嘗試將其解析爲HTML,並發現它是無效的HTML。

我猜你們都是在var myArray = data.sFancyBoxParams.split(','); 之後設置的,你可以通過myArray作爲fancybox的參數。

+0

非常感謝!正是這樣,而且完全被我忽視了。現在非常明顯。我猜想,我昨天開發了一些代碼失明。 – tvgemert 2010-07-13 08:44:30