javascript - 灯箱只显示第一张图片

标签 javascript html css featherlight.js

我目前正在开发一个带有灯箱的网站。 ( Featherlight )

现在的问题是,灯箱只加载第一张图片,即使我点击另一张图片,它仍然显示第一张。

You can try it yourself over here

我使用的代码是

<div class="grid-sizer"></div>
    <?php if($page->numChildren(true)) {
        echo "<ul class='project'>";
        foreach($page->children as $child) {

            if ($child->head_image) {
                $image = $child->head_image;  
                echo "<li class='item'><a href='#' data-featherlight='#mylightbox'><img id='mylightbox' src='{$image->url}' class='image'></a><p class='worktitle'>$child->title</p></li>"; 
                                }}  

                echo "</ul>";}
        ?>
    </div> 

该站点在 ProcessWire 上运行,我做了这样的设置

  • 主页
  • 希尔德林根
    • 作品 1(这里只有一个作品,有信息)
    • 工作 2(等)
    • 工作 3
  • 特克宁根
    • 工作 1
    • 工作 2
    • 工作 3

所以没有向左或向右移动,只有一个必须弹出的图像。

有人知道如何解决这个问题吗?每个图像都能正常工作。

提前致谢!

最佳答案

我不确定 Featherlight 库究竟是如何工作的,但它可能与 HTML ID 相关联。您可以让每个 id 只使用一次,但是您可以为 foreach 中的每个图像复制 id“mylightbox”。

尝试将 foreach 更改为如下内容:

foreach($page->children as $childIndex => $child) {
  if ($child->head_image) {
    $image = $child->head_image;  
    echo "<li class='item'><a href='#' data-featherlight='#mylightbox" . $childIndex . "'><img id='mylightbox" . $childIndex . "' src='{$image->url}' class='image'></a><p class='worktitle'>$child->title</p></li>"; 
  }
}  

关于javascript - 灯箱只显示第一张图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44718492/

相关文章:

仅在第二次尝试时才进行 JavaScript 重定向

javascript - 限制 iframe 宽度

php - 如何在 tcpdf pdf 生成中使用外部 css

javascript - 在一定时间后向其他同级 div 添加功能,但不向悬停的 div 添加功能(jquery 和 javascript)

jquery - 打开下拉后如何自动选择第一个 'li'?

html - 如何使用 CSS 选择器选择所有非空 anchor 链接?

javascript - JQuery 幻灯片故障

javascript - 使用 jQuery 延迟关闭 Bootstrap 模式

javascript - Knockout.js & Bootstrap 3 - List Group .active on selection

javascript - 是否有将自定义 Javascript 添加到 ASP.NET MVC 5 页面的正确方法?