2011-02-06 98 views
1

我正在使用FancyBox来包含我的iframe,但它只适用于第一个数组。这里的数组是什么样子:iFrame仅适用于第一个阵列?

$gallery_items = array(
array("img_src" => "gallery/thumb_1.jpg", "link" => "gallery/profile1.txt"), 
array("img_src" => "gallery/thumb_2.jpg", "link" => "gallery/profile2.txt"), 

等,然后在这里是它是如何产生的:

echo '<li><a id="various3" href ="' . $current_gallery_item["link"] . '"><img src="' . $current_gallery_item["img_src"] . '" /></a></li>'; 

id="various3"是怎样的fancybox道出了一个iframe。但是,它只适用于第一个数组。

+0

声明*它仅适用于第一个数组*是混乱和误导。访问您的网站后,很明显,您的意思是,它只适用于第一项。 – 2011-02-06 12:37:12

回答

2

修订的答案:

看来你不想iFrame中,但只加载通过Ajax的内容。你的问题是每个元素都有相同的ID。如果通过

$('#various3').fancybox(); 

然后附上的fancybox将只适用于第一个元素,因为标识必须是唯一的

使用类来代替:

<ul> 
<?php foreach($gallery_items as $item): ?> 
    <li> 
     <a class="various3" href ="<?php echo $item['link']; ?>"> 
      <img src="<?php echo $item["img_src"]; ?>" /> 
     </a> 
    </li> 
<?php endforeach;?> 
</ul> 

和jQuery:

$('a.various3').fancybox(); 

如果你真的想有iFrame,您可以只添加iframe类的链接元素:

<a class="various3 iframe" ...> 

这将自动告诉Fancybox使用iFrames。请参阅Fancybox - How to use

+0

是的,我做到了,它的工作原理!我也把所有的txt文件都改成了基本的html文件,这样我就可以更好地设计它们 – Jake 2011-02-06 13:07:06

1
foreach($gallery_items as $current_gallery_item){ 
    echo '<li><a id="various3" href ="' . $current_gallery_item["link"] . 
      '"><img src="' . $current_gallery_item["img_src"] . '" /></a></li>'; 
    } 

可能工作

1

你用相同的ID(即 “various3”)的几个元素。 这不会以这种方式工作。 每个ID都应该是唯一的。

分配一些类A-标签和使用它:

$("#various3") 

--->

$(".various3") 
相关问题