【问题标题】:Lightbox showing only the 1st of the pictures灯箱仅显示第一张图片
【发布时间】:2012-07-29 15:31:28
【问题描述】:

我有一个主图像,如果您滚动缩略图,每次都会加载不同的图像。有 3 个缩略图。

还有一个灯箱效果,这就是我的问题发生的地方。每次单击主图像时,无论哪个拇指已加载到主图像,图像 1 都是灯箱中显示的那个。

我清楚地知道问题出在哪里,但我只是想知道如何才能使加载到 mainImage 容器中的图像成为灯箱中显示的图像。

这是我的代码,也许它解释得更好。

谢谢!

<div id="thumbs">
<img class="thumbSelected" src="images/<?php echo $row[thumb1]; ?>.jpg"  /><br />
<img src="images/<?php echo $row[thumb2]; ?>.jpg"  /><br />
<img src="images/<?php echo $row[thumb3]; ?>.jpg"  />
</div>



<div class="mainImage">
<a href="images/<?php echo $row[image1]; ?>.jpg" rel="lightbox" title="<?php echo $row[name]; ?>">
<img class="mainImage" src="images/<?php echo $row[image1]; ?>.jpg" />
</a>
</div>
<script> ////large: ITEM1_01_large      small: ITEM1_01_thumb
//
$('#thumbs').delegate('img', {
mouseover: function(){
    $('.mainImage').attr('src',$(this).attr('src').replace('thumb','image'));
    var $this = $(this),
    index = $this.index();
    $("#thumbs img").removeClass('thumbSelected');
        $this.addClass('thumbSelected');
        $("#big-image img").eq(index).show().siblings().hide();
}});
</script>

【问题讨论】:

    标签: javascript image load lightbox thumbnails


    【解决方案1】:

    我真的看不出你在做什么。但是,如果 jQuery 找到第一个元素并在您使用 id 选择器时停止。 如果要选择多个元素,则需要使用类。这就是类的作用。

    【讨论】:

    • 上课怎么办?问题是该脚本仅适用于第一张图像,而不是其他图像...我应该循环吗?
    • 嗯,这就是为什么我说我看不到你在做什么。但我看到$("#thumbs img") 一个 div 中是否有很多 imgs,其 id 为“thumbs”?或者你有多个 id 都命名为“thumbs”的 div?
    • 好的,我重新评估了你的代码。有更好的方法来编写你的 php 和 jQuery。您可以 google 并关注一些灯箱示例。但看起来你只为你的灯箱加载了 image1 。 PHP 在每次页面加载时只执行一次,除非您使用 AJAX。此外,在常规 javascript 变量的开头使用 $ 被认为是不好的做法。考虑到您使用的是 jQuery php,这非常令人困惑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2013-08-24
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    相关资源
    最近更新 更多