【发布时间】:2016-05-12 12:13:40
【问题描述】:
在当前的迭代中,如果用户单击图像缩略图,缩略图将显示在不同的 div(主 div)中,并且这样做,它会用缩略图重写主 div img src attr img attr 减去“-thumbnail”。这部分很好,或者至少我相信是这样。
话虽如此,在用户单击缩略图并出现主 div img 后,它会徘徊......我所说的徘徊是指,例如,如果用户关闭 div 并重新打开它或其他div 就像它一样,最后一张图片显示(停留)它不应该在主 div 中。相反,它应该在主 div 中显示第一个缩略图 img...
感谢任何建议,以下是我目前拥有的(或至少一部分)。还有很多,但下面是给我带来麻烦的主要内容......
HTML 部分位于名为“t_1”的 div 类中。我有 24 个……分别是“t_1”、“t_2”、“t_3”。在这个类中,我使用相同的 div 类发布了下面的所有内容。唯一的区别是 img 标签中的文件夹名称。
因此,当用户单击该缩略图并且该缩略图图像被重写以使其可以显示在主 div“t_main_screenshot”中时,一切都很好......但是,如果用户单击“t_1 " 等 div,并打开另一个 "t_2",之前单击的最后一个图像缩略图显示在主 div (t_main_screenshot) 中,而不是应该在 "t_2" 中的第一个图像缩略图...
希望这在清晰度上会好一些...这有点难以解释。
HTML:
<div class="t_main_screenshot">
<img src="_framework/images/slides/simplicity/2.png" alt="" title="" />
</div>
<div class="t_thumbnail_wrapper">
<div class="t_thumbnail active">
<img src="_framework/images/slides/simplicity/2-thumbnail.png" alt="" title="" />
</div>
<div class="t_thumbnail">
<img src="_framework/images/slides/simplicity/4-thumbnail.png" alt="" title="" />
</div>
<div class="t_thumbnail">
<img src="_framework/images/slides/simplicity/6-thumbnail.png" alt="" title="" />
</div>
</div>
JS/JQuery:
$('.t_thumbnail').click(function() {
$('.t_thumbnail').removeClass('active');
$(this).addClass('active');
var thumbNail = $(this).find('img').attr('src');
$('.t_main_screenshot img').fadeOut(0, function() {
$(this).fadeIn().css('animation','scale-in .75s ease-in 0s forwards')[0].src = thumbNail.replace('-thumbnail', '');
});
});
【问题讨论】:
-
所以我会重申我的理解:你有带图像的 div 和 1 个主 div。单击这些 div 会将其图像设置为主。但是当用户单击第二个 div 时,此图像不会更新。我说的对吗?
-
关闭。我编辑了我的原始帖子。希望通过这样做,它更容易理解......
-
尝试过先替换选中的图片,然后再做
fadeIn()和css()? -
BCoder,我想我需要在某处使用
if/else声明,但我不完全确定如何完成此操作... -
试试这个:
$(this).attr('src',thumbNail.replace('-thumbnail', '')).fadeIn().css('animation','scale-in .75s ease-in 0s forwards');
标签: javascript jquery html image