iFrame仅适用于第一个阵列?
问题描述:
我正在使用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。但是,它只适用于第一个数组。
答
修订的答案:
看来你不想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
答
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>';
}
可能工作
答
你用相同的ID(即 “various3”)的几个元素。 这不会以这种方式工作。 每个ID都应该是唯一的。
分配一些类A-标签和使用它:
$("#various3")
--->
$(".various3")
声明*它仅适用于第一个数组*是混乱和误导。访问您的网站后,很明显,您的意思是,它只适用于第一项。 – 2011-02-06 12:37:12