【问题标题】:Image gallery: Disable thumbnail when being clicked图片库:单击时禁用缩略图
【发布时间】:2011-08-26 16:39:26
【问题描述】:

我正在尝试创建一个简单的“图片库”,其中有一张大照片和几张缩略图。单击缩略图时,大图像应淡出,然后淡入新图像。我的问题是,当我单击代表当前“大图像”的缩略图时,大图像淡出并且没有显示大图像。因此,我想在单击缩略图并加载大图像后禁用它。任何有关如何执行此操作的建议将不胜感激。我当前的代码如下所示:

application.js

function addClickHandlers(){
  var large_image = document.getElementById("large_image")
  var thumbnail = $('img.thumbnail')

  // Adds click handlers to image thumbnails that update the larger image
  $(thumbnail, this).click(function() {
    src = this.src.replace("thumb", "large")
    $(large_image).fadeOut(200, function(){
      $(large_image).attr('src', src).bind('readystatechange load', function(){
        if  (this.complete) $(this).fadeIn(400);
      });
    });
  });
};

$(document).ready(addClickHandlers);  

还有我的 HTML/HAML

.big_photo
  = image_tag(@tee.tee_images.first.photo.url(:large), :id => "large_image")
- tee.tee_images.each do |image|
  = image_tag(image.photo.url(:thumb), :class => "thumbnail")

我已经学习了这个教程:http://blog.randomutterings.com/articles/2009/02/15/changing-images-with-jquery-and-the-fade-effect

【问题讨论】:

    标签: jquery ruby-on-rails haml thumbnails image-gallery


    【解决方案1】:

    如何检查大图像是否与拇指匹配?所以把代码改成

    $(thumbnail, this).click(function() {
      src = this.src.replace("thumb", "large");
      if (src != large_image.src)
        $(large_image).fadeOut(200, function(){
    

    【讨论】:

    • 谢谢!这就像一个魅力。需要提高我的js技能。 :D
    • @Anders,接受答案只需点击答案投票部分下的勾选即可。
    • 复选框 - 完成!再次感谢! (无法投票给你的答案,没有足够的代表)
    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 2019-06-28
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    相关资源
    最近更新 更多