我正在使用FancyBox来包含我的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 :(得分:2)
修订回答:
似乎你不想要iFrame,只是通过Ajax加载内容。您的问题是每个元素都具有相同的ID。如果您通过
附加Fancybox $('#various3').fancybox();
然后它只会应用于第一个元素,因为ID 必须是唯一的。
改用类:
<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使用iFrame。
答案 1 :(得分: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>';
}
可能会工作
答案 2 :(得分:1)
您为多个元素使用了相同的ID(即“various3”)。 这不会这样。 每个id都应该是唯一的。
将一些类分配给A-tags并使用它:
$("#various3")
---&GT;
$(".various3")