【发布时间】:2016-02-08 14:05:55
【问题描述】:
我的 CodeIgniter 应用中有一个视图。我正在使用 fancybox 来显示来自 foreach php 循环的用户提交的图像。我的观点是这样的:
<ul>
<?php
foreach($photo_strip['photos'] as $photo) { ?>
<li>
<a href="" class="fancybox" rel="group"><img src="<?= $photo->image ?>" alt=""/></a>
</li>
</ul>
在<li> 元素中,我不仅显示图像,还链接它们。请注意正在显示的图像或拇指文件夹中的图像。为了让拇指显示实际图像,我通过使用 Jquery 更改 href 路径将每个缩略图动态链接到其父图像。所以这是我的 jQuery :
$(document).ready(function()
{
$('.fancybox').click(function()
{
var srcPath = $(this).find("img").attr("src");
var newFilename = srcPath.split('/').pop();
var newPath = 'http://example.com/images/trip/' + newFilename;
});
所以每次当用户点击保存在目录:/trip/thumbs/ 中的缩略图时,我的 jQuery 都会更改文件路径并从:/trip/ 加载实际图像 到目前为止,这很好。但是当我向它添加fancybox时,它要么只显示除第一个单击的图像之外的缩略图,要么尽管单击导航按钮但仍加载相同的图像。所以我的完整脚本如下所示:
$(document).ready(function()
{
$('.fancybox').click(function()
{
var srcPath = $(this).find("img").attr("src");
var newFilename = srcPath.split('/').pop();
var newPath = 'http://example.com/images/trip/' + newFilename;
$('.fancybox').attr("href", newPath);
$('.fancybox').fancybox({
padding: 0
});
});
});
我的问题是:我希望能够单击单个拇指,它会打开fancybox,当我导航时,它应该从父目录打开图像,而不是拇指本身。
有没有办法做到这一点?
【问题讨论】: