2010-03-22 60 views
2

我想在页面上有几个循环画廊,但一次只有一个活动画廊,其他人隐藏。理想地点击一个链接(列表中的缩略图)将激活下一个循环库。合理?任何人之前做过?将欣赏提示,谢谢!如何在页面上有多个jquery循环库,只有一个活动?

+0

假设你的意思是http://jquery.malsup.com/cycle/这应该不是一个问题。你试过自己了吗?我猜想将一个'click()'绑定到缩略图并且将hide()'/ show()'正确的元素和一些对'.cycle('pause')/。cycle('resume')诀窍 – jitter 2010-03-22 03:36:46

+0

对不起,那是我正在使用的插件。 感谢我的想法,但方式错了,所以你提到它我回去了第二次看,现在有一部分工作。那谢谢啦。 :) 仍试图找到一种方法来做到这一点,没有“强力”的方法,隐藏所有其他人点击,并显示相关的一个,并打开点击。明白我的意思了吗?我可以通过选择器在一个函数中做到这一点吗?或者每个需要一个函数调用?再次感谢你! – thatryan 2010-03-22 05:27:07

+0

你介意调整这个代码吗? pastie.textmate.org/880555我把相关的部分放在那里,我正在尝试的js,缩略图调用和图库div。它似乎工作,但恢复是搞砸了。不会显示图像。当它回来时,它只显示暂停或停止的图像。通过列表空白,然后再次显示...? – thatryan 2010-03-22 06:04:25

回答

1

好了,现在,我已经看到你的网站,我可以看到你需要的东西更灵活,因为你有大约15画廊控制。给这一个旋转:

$(document).ready(function() { 
    $.expr[':'].gallery = function(a) { return /^gallery\d+/.test(a.id); } 

    // initialize and pause the slideshows 
    var $gallery = $(':gallery').each(function() { 
     var $nav = $('<ul class="gallery-nav">').insertBefore(this); 
     $(this).cycle({ 
      fx:  'slideY', 
      speed: 1000, 
      timeout: 6000, 
      pager: $nav 
     }).cycle('pause'); 
    }); 

    var $navs = $('ul.gallery-nav'); 

    // hide all but first gallery and pager and restart first gallery slideshow 
    $navs.not(':eq(0)').hide(); 
    $gallery.not(':eq(0)').hide() 
    $gallery.eq(0).cycle('resume'); 

    // bind click triggers to show/hide galleries 
    var $thumbs = $('#slider_thumbs a').click(function() { 
     var index = $thumbs.index(this); 
     $gallery.not(':eq('+index+')').cycle('pause').hide(); 
     $gallery.eq(index).show().cycle('resume'); 
     $navs.eq(index).show(); 
     $navs.not(':eq('+index+')').hide(); 
     return false; 
    }); 
}); 
+0

哇麦克,非常感谢你花时间为我解决这个问题。我非常感谢。完美的作品,所以现在我需要研究它,因为我不明白发生了什么:)谢谢。 – thatryan 2010-03-23 00:44:35

3

未经检验的,但这样的事情应该是接近:

$(document).ready(function() { 
    // initialize and hide both slideshows 
    $('#gallery1,#gallery2').each(function() { 
     var $nav = $('<ul class="gallery-nav">').insertBefore(this); 
     $(this).cycle({ 
      fx:  'slideY', 
      speed: '1000', 
      timeout: 6000, 
      pager: $nav, 
      pagerAnchorBuilder: function(i) { 
       return '<li><a href="#">'+(i+1)+'</a></li>'; 
      } 
     }).cycle('pause').hide(); 
    });  

    // bind click triggers to show/hide galleries 
    $('.gallery1,.gallery2').click(function() { 
     var isOne = $(this).is('.gallery1'); 
     var showId = '#gallery' + isOne ? 1 : 2; 
     var hideId = '#gallery' + isOne ? 2 : 1; 
     $(hideId).cycle('pause').hide(); 
     $(showId).show().cycle('resume'); 
     return false; 
    }); 
}); 
+2

Mike Alsup回答这个问题的一件很酷的事情是,很有可能这是正确的答案。 – 2010-03-22 16:41:47

+0

大声笑非常真实。可怕的部分是,因为它的迷人,我想我迷路了!画廊开始像他们应该隐藏的,但导航都显示在右边垂直。点击缩略图链接图像不显示,在萤火虫给出错误。 http://drp.ly/Eu61R这是否有意义? – thatryan 2010-03-22 20:06:45

相关问题