【问题标题】:Zoom Effect Only Zooms Original Image Not New Image From Thumbnail缩放效果仅缩放原始图像而不是缩略图中的新图像
【发布时间】:2015-09-27 02:14:57
【问题描述】:

信息
我有一个div的网格。每个 div 打开一个模式。每个模态都有一个简单的缩略图库(点击缩略图,主图被替换)。

问题
缩放仅适用于原始主图像。单击缩略图后它没有意识到有一个新的主图像,因此它继续缩放原始图像。

FIDDLE
http://jsfiddle.net/zuhloobie/bcuh489d/2/

问题
如何更改代码以缩放从缩略图中选择的新主图像?

HTML
<div class="container"> <div class="image wow rotateIn" data-wow-delay=".3s" data-wow-duration=".3s"> <div id="gallery" class="zoom"> <div class="content"> <img src="http://dummyimage.com/900x900/000/fff" class="image_1"> <img src="http://dummyimage.com/900x900/f00/fff" class="image_2" style="display:none"> </div> </div> </div> <div class="body wow fadeInDown" data-wow-delay=".5s" data-wow-duration=".3s"> <div class="thumbnail"> <div class="thumb view2"> <a href="#" rel="2"> <img src="http://dummyimage.com/900x900/f00/fff" id="thumb_2" class="fit"> </a> </div> <div class="thumb view2"> <a href="#" rel="1"> <img src="http://dummyimage.com/900x900/000/fff" id="thumb_1" class="fit"> </a> </div> </div> </div> </div> </div>
JQUERY
$('#gallery').simplegallery({ galltime : 400, // transition delay gallcontent: '.content', gallthumbnail: '.thumbnail', gallthumb: '.thumb' }); $('.zoom').zoom({ on:'grab' });
使用的插件
[1]http://www.jacklmoore.com/zoom/
[2]http://www.jqueryscript.net/gallery/Minimalist-jQuery-Image-Gallery-with-Thumbnails.html

提前致谢!

【问题讨论】:

    标签: jquery html thumbnails photo-gallery zooming


    【解决方案1】:

    您遇到的问题是 simplegallery 不知道您正在使用的缩放插件。

    缩放插件使用他根据您提供的元素找到的第一张图片创建一个新元素。

    为了使缩放插件更改您正在缩放的​​图像,您需要确保该图像已更新为您刚刚单击的图像。

    在初始化缩放插件后添加此代码:

    $('.thumb img').click(function() {
        $('.zoomImg').attr('src', $(this).attr('src'));
    });
    

    应该可以解决你的问题。

    【讨论】:

    • 您的意思是$('.zoom img')?有了这个更正它就可以了,但是我现在遇到了一个新问题。在我单击缩略图之前,每个新模态都会填充上一个模态的主图像。示例:模态 #1 有一个主图像和 2 个缩略图 A 和 B。模态 #2 有一个主图像和 2 个缩略图 C 和 D。我打开模态 #1 并选择替换主图像的缩略图 B - 我现在也可以缩放正确(谢谢)。但是当我关闭 Modal #1 并打开 Modal #2 时,它的主图像现在是 Modal #1 中的 thumb B,直到我在 Modal #2 中选择 thumb C 或 D。
    • 如果你的意思是$('.zoomImg'),同样的问题。但是这一次,如果我单击 Modal #1 和拇指 B - 它可以工作并且我可以缩放。但是如果我关闭它并打开模态#2,并在主图像上使用缩放功能,它会从模态#1 放大到拇指 B。本质上,我的两个 cmets 都引入了未从内存中删除的图像。现在每个模态都会记住最后一个模态的一些实例。有意义吗?
    • 代码是正确的,不需要改变任何东西。如果您遇到模态问题,请提供包含问题示例的链接。
    • 模态插件:dixso.github.io/custombox。开发页面:(查看前 2 个盒子(博尔德和达纳城))-shynemedia.com/dev/sm/2015_site/portfolio/index.php
    • 您的问题是,当您输入 Modal#1 并单击拇指时,隐藏的图像(缩放时显示的图像)是来自 Modal#1 的图像。然后 - 当您转到 Modal#2 时,隐藏的图像仍然是 Modal#1 中的图像(因此,如果您尝试缩放,您将放大 Modal#1 中的图像),并且仅当您单击其中一个拇指时在 Modal#2 上 - 隐藏图像更改为您的“正确”图像。您需要做的是当模式打开时 - 您需要确保将隐藏图像的来源($('.zoomImg'),检查我的答案中的第二行)更改为该模式内的第一张图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2014-09-06
    • 2013-12-29
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    相关资源
    最近更新 更多