2010-07-12 49 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