gpt4 book ai didi

javascript - Photoset-grid + lightbox 点击时打开错误的图像

转载 作者:行者123 更新时间:2023-11-28 01:59:50 25 4
gpt4 key购买 nike

我正在使用 Stylehatch 的“Photoset-grid.js”和“view.js”

除了以下事实之外,它似乎有效:当我单击多图像行中最右侧的图像时,它会打开左侧图像。

要明白我的意思:http://test-theme-one.tumblr.com/

我渲染的 HTML 看起来像这样(我转到 safari 并单击“检查元素”,并复制了我的测试博客上照片集帖子的 html)我不明白它是如何设置的,我虽然有它所以 anchor 会包裹照片集中的每个图像?

<div class="photoset-grid" data-layout="3" style="width: 100%;" data-width="500">
<a href="http://31.media.tumblr.com/4738e9e1fe4f307b7c7313bcf96766a6/tumblr_msk013TnG61syxzvzo2_500.png" class="view" rel="60178651810" title="help">
<div class="photoset-row cols-3" style="clear: left;display: block;overflow: hidden;height: 80px;">
<div class="photoset-cell" style="float: left;display: block;line-height: 0;box-sizing: border-box;width: 33.3%;padding-right: 2.5px;">
<img src="http://31.media.tumblr.com/4738e9e1fe4f307b7c7313bcf96766a6/tumblr_msk013TnG61syxzvzo2_500.png" alt="" style="width: 100%;height: auto;margin-top: 0px;">
</div>

<div class="photoset-cell" style="float: left;display: block;line-height: 0;box-sizing: border-box;width: 33.3%;padding-right: 2.5px;padding-left: 2.5px;">
<img src="http://31.media.tumblr.com/b421d5cbc68a1f63091492cc95cf879e/tumblr_msk013TnG61syxzvzo3_500.jpg" alt="" style="width: 100%;height: auto;margin-top: -84.5px;">
</div>

<div class="photoset-cell" style="float: left;display: block;line-height: 0;box-sizing: border-box;width: 33.3%;padding-left: 2.5px;">
<img src="http://25.media.tumblr.com/2a4e3311cad4a928b49460b9ed6fda1e/tumblr_msk013TnG61syxzvzo1_500.png" alt="" style="width: 100%;height: auto;margin-top: 0px;">
</div>

</div>
</a>

<a href="http://31.media.tumblr.com/b421d5cbc68a1f63091492cc95cf879e/tumblr_msk013TnG61syxzvzo3_500.jpg" class="view" rel="60178651810" title="me"></a>

<a href="http://25.media.tumblr.com/2a4e3311cad4a928b49460b9ed6fda1e/tumblr_msk013TnG61syxzvzo1_500.png" class="view" rel="60178651810" title="please ;)"></a>
</div>

最佳答案

问题是 Photoset Grid 并不是真正为模板工作而设计的。它需要这个模板:

 {block:Photos}
<a href="{PhotoURL-500}" class="view" rel="{PostID}">
<img src="{PhotoURL-500}" alt="{PhotoAlt}"/>
</a>
{/block:Photos}

并取出所有 标签并复制它们 - 行中每个图像一个。结果是这样的 HTML:

<a class="view" ... >
<div class="photoset-row cols-3" ...>
<div class="photoset-cell" ...>
<img ...>
</div>
<div class="photoset-cell" ...>
<img ...>
</div>
<div class="photoset-cell" ...>
<img ...>
</div>
</div>
</a>
<a class="view" ... ></a>
<a class="view" ... ></a>

现在,view.js正在使用 anchor /链接弹出灯箱。他们基本上捕获整个分组的点击事件。当您在模板中尝试将 <img> 换行时在 <a> ,它正在拉出 <img>标记出<a>在模板中并将它们附加到第一个 <a> .

如果您正在开发 jQuery 插件,the Photoset-grid code, is pretty clearly bugged第 113 行附近 ( _setupColumns )。

长话短说,您将无法将 view.js lightbox 与 Photoset-grid 一起使用。除非有好心人来修复这个插件。

关于javascript - Photoset-grid + lightbox 点击时打开错误的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com