【问题标题】:Galleriffic and Loupe Magnify Issue画廊和放大镜放大问题
【发布时间】:2012-11-16 13:27:30
【问题描述】:

我正在使用两个独立工作的插件。 Galleriffic 和 Loupe 是两个插件。我想要做的是让 Galleriffic 中的大图像也有放大悬停效果,这就是 Loupe 的用途。我必须在 Galleriffic 插件中添加一行代码newSlide.find('a img').addClass('magnifyPic');,以便在图像上获得一个类,Loupe 应该使用它来激活放大效果。以下是插件的两个调用。

jQuery(document).ready(function($) {

  var gallery = $('#thumbs').galleriffic({
       'imageContainerSel': '#bigPics',
       'enableBottomPager': false,
       'renderNavControls': false,
       'renderSSControls':  false,
       'enableHistory':     false,
  });

  $('.magnifyPic').loupe({
     'default_zoom': 300,
     'shape' : 'rounded',
     'default_size' : 160,
     'glossy' : false,
     'drop_shadow' : false 
  });

});

问题是当我将鼠标悬停在大图像上时,绝对没有任何反应。这两个插件独立地运行正常,但似乎不想一起工作。如果我理解正确的话,Galleriffic 插件可以在其选项中接受回调、函数等,所以我想我的问题是:如何将 Loupe 调用集成到 Gallerific 调用中?或者这是让 Loupe 仅使用 Galleriffic 画廊中的大图像的正确方法?我已经尝试删除、添加、修改这两个插件的代码行,但似乎无法让它们一起工作。

【问题讨论】:

    标签: javascript jquery loupe galleriffic


    【解决方案1】:

    在 jquery.galleriffic.js 中搜索 image.src。它应该出现两次(在第 338 行和第 611 行附近)。在image.src = ...之后添加以下行:

    image.src = ...
    $(image).loupe();
    

    注意:我还将它添加到我的 CSS 中。在添加此 CSS 规则之前,放大镜导致非常小的放大(也许我使用的插件错误?):

    ​.loupe img {
      width:800px;
      height:800px;    
    }​
    

    我在 github 上发布了示例。你可以在这里试试http://ted-piotrowski.github.com/example-gallerific/

    【讨论】:

    • 泰迪胡子感谢您的回复。这让我难过了几个小时。它似乎部分工作,我现在得到了悬停效果的放大,但放大镜闪烁进出。你有没有经历过这一切?第 338 行和第 611 行是正确的,因此您确实使用了正确的插件。插件代码中的两个区域现在都有image.src = imageData.slideUrl; $(image).loupe();。那是对的吗?什么会导致放大镜闪烁进出?如果有帮助,这里是正在进行的网站的 URL:dev04.iridiangroup.com/tmgauctionservices/single.html
    • @AndyWarren 我在 github 上的示例是否有这种行为?如果是,您使用的是什么浏览器?它在 Chrome 中运行良好。我访问了您的网站,但是您的gallerific-fancy.js 中没有启用放大镜,所以我看不到效果。
    • 您的示例完美运行。我已经在 Firefox 和 Chrome 中进行了测试。我虽然在 Firefox 中工作。我现在在那个页面上运行了一个不同版本的 Galleriffic,一个集成了 fancybox 的版本。对于那个很抱歉。我会把正确的版本放回去让你快速查看。另一方面,galleriffic 在尝试与其他插件集成时是一个主要的痛苦,也无法让 fancybox 工作。但一次一个问题!再次感谢。正确的画廊现在在那里供您查看。
    • @AndyWarren 你是对的。火狐肯定有问题。我很难在没有访问代码的情况下进行调试。我认为您面临的主要问题是 jQuery 插件往往会改变 DOM(将图像包装在一些额外的
      标签中,等等)。当您在同一元素上使用多个插件时,它们可能会以其他插件不期望的方式覆盖彼此的更改或更改 DOM。我会尝试找到一个可以满足您需求的插件,否则您可能不得不牺牲一些功能。祝你好运!
    • 我刚刚仔细检查了 Chrome,它实际上也在我这边工作。我感谢帮助和花时间看它。您的回答对我来说已经足够接近了,再次感谢。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签