ScrollTop 在砌体图像缩略图中找不到几个不同的数字元素 ID 之一以将页面滚动到图像

Posted

技术标签:

【中文标题】ScrollTop 在砌体图像缩略图中找不到几个不同的数字元素 ID 之一以将页面滚动到图像【英文标题】:ScrollTop Not finding one of several different numeric element ids in masonry image thumbnails to scroll page to the image 【发布时间】:2021-07-30 16:17:26 【问题描述】:

我有一组砌体布局的缩略图,每个缩略图都链接到一个画廊页面。我想返回显示被点击图像的滚动状态。我正在使用图库上的关闭按钮向地址添加哈希值,然后我使用该地址滚动到图像。代码总是只选择要滚动的 div 的第一个实例。如果我包含一个可点击的链接,页面会正确滚动。

html

<div class="item">
  <div id="photo_335"  class="anchor"></div>
    <a href="gallery.php?gallNo=335&catNo=14"><img src="images/gall335.jpg" </a>                                
  </div>                                                                            
  <div class="item">
    <div id="photo_332"  class="anchor"></div>
    <a href="gallery.php?gallNo=332&catNo=14"><img src="images/gall332.jpg"></a>                                                                
  </div>                                        
  <div class="item">
    <div id="photo_323"  class="anchor"></div>
    <a href="gallery.php?gallNo=323&catNo=14"><img src="images/gall323.jpg"></a>
  </div> 

脚本

var $hash = window.location.hash;
var $photo = "photo_" +$hash.replace('#', '');
if ($hash.length) 
    $('html, body').stop().animate(
            scrollTop: $($target).offset().top - headerHeight
        , 10);     
        return false;
 

site.com/test.php?catNo=14#337

【问题讨论】:

【参考方案1】:

好的解决了我的问题。我在布局完成之前触发了脚本。 console.log( $('#'+$photo).offset() ); 给了我 div 的位置并帮助我实现了这一点。

【讨论】:

以上是关于ScrollTop 在砌体图像缩略图中找不到几个不同的数字元素 ID 之一以将页面滚动到图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在引导缩略图中适合宽图像?

thinkphp5使用thinkImage生成缩略图时报找不到

如何避免在 django sorl 缩略图中拉伸图像

保留缩略图中的原始比例

ipad缩略图中图像之间的空间

如何从社交媒体缩略图中排除 Jumbotron 图像?