2011-02-06 94 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") 
相關問題