javascript - 从可滚动的图像列表中获取当前图像
问题描述
我有可滚动图像列表(示例),我试图找出屏幕上显示的当前图像。
这个想法是聚焦当前图像缩略图。这是我的代码(我正在使用 Smarty TE):
{if $images}
<div class="galleryHolder left">
<div class="thumbsHolder left">
<div class="pos-sticky">
{section name=i loop=$images}
<a href="/files/{$images[i].file}" data-fancybox="gallery" class="thumb">
<picture>
<source srcset="/files/webp/tntn/{$images[i].file_webp} 1x" type="image/webp">
<source srcset="/files/tntn/{$images[i].file} 1x" type="image/jpeg">
<img class="thumbImg" src="/files/tntn/{$images[i].file}" alt="{if $images[i].name}{$images[i].name}{else}{$row.name}{/if}">
</picture>
</a>
{/section}
</div>
</div>
<div class="imagesHolder right">
{section name=i loop=$images}
<a href="/files/{$images[i].file}" data-fancybox="gallery" class="full">
<picture>
<source srcset="/files/webp/{$images[i].file_webp} 1x" type="image/webp">
<source srcset="/files/{$images[i].file} 1x" type="image/jpeg">
<img class="fullImg" src="/files/{$images[i].file}" alt="{if $images[i].name}{$images[i].name}{else}{$row.name}{/if}">
</picture>
</a>
{/section}
</div>
</div>
{/if}
解决方案
如果您在每个图像上放置一个 intersectionObserver,那么您将在它进入和离开视口时收到通知。
在回调函数中,您可以在缩略图上设置一个类以分别突出或不突出显示它。
如果您需要有关代码的更多帮助,请告诉我。
推荐阅读
- mysql - 进行简单选择时未找到 deletedAt 列
- javascript - 如何使用 child_process.exec 在 NodeJS 中运行多行命令
- gradle - 两者有什么区别?一般推荐什么语法?
- html - 响应式两列 CSS 网格
- r - 列出文件时在文件类型后使用美元符号“$”
- react-native - 无法启动 React Native 应用程序。TypeError: undefined is not an object (评估'domelementtype_1.ElementType.Tag')
- python - 尝试运行 sklearn 线性回归时,matmul 输入操作数 1 的核心维度错误 0 不匹配
- java - 无法更改 AVL 树中的根指针 [Java]
- javascript - 如何修复 JSON、jQuery、AJAX 和 PHP 之间的错误
- sql - 迄今为止的每月预算的统一分配