5

I have quite unique situation. Here is my scenario: 4 thumbnails linking to the gallery + 1 medium image (pointing to the same source as first thumbnail). I would like to open the same gallery by clicking on the medium image, but when I link them with "rel" attribute I have the first picture twice in the loop (5 big images in the loop). Is there a way to call specified fancybox gallery within external link? That way I could trigger click function on the medium image and still have only 4 big images in the loop. Please help, I cannot find solution for this.

UPDATE

here is my html

<div class="details_gallery">
 <a href="max/1.jpg" class="fancybox"><img src="mid/1.jpg" /></a>
 <div class="details_gallery_min">
  <a rel="details" href="max/1.jpg" class="fancybox"><img src="min/1.jpg" alt="" /></a>
  <a rel="details" href="max/2.jpg" class="fancybox"><img src="min/2.jpg" alt="" /></a>
  <a rel="details" href="max/3.jpg" class="fancybox"><img src="min/3.jpg" alt="" /></a>
  <a rel="details" href="max/4.jpg" class="fancybox"><img src="min/4.jpg" alt="" /></a>
 </div>
</div> 

I want to trigger the "details" gallery when clicking on the "mid" image...

JFK
  • 40,963
  • 31
  • 133
  • 306
lokers
  • 2,106
  • 2
  • 18
  • 19

2 Answers2

13

What I would do is to modify the link of the "mid" image to trigger the gallery onclick without being part of the gallery itself like:

<a href="max/1.jpg" onclick="$('a.fancybox').eq(0).trigger('click'); return false;"><img src="mid/1.jpg" alt="mid image" /></a>

the .eq() method ensures that the gallery starts from the first image because otherwise it would start from the last element bound to fancybox. You could specify to start from another element of the gallery though.

JFK
  • 40,963
  • 31
  • 133
  • 306
  • Nice thanx i needed it to, what do you do with : alt="mid image" ? – Sven van den Boogaart Jun 20 '13 at 14:48
  • 1
    @SvenB `alt="mid image"` is just the image description, something meaningful about the image you are displaying that will help screen readers for people with disabilities ... here was just an example because I don't like leaving `` tags with that attribute for validation purposes – JFK Jun 20 '13 at 15:02
5
<div class="details_gallery">
 <a href="#" class="manualfancybox">Manual Call Fancybox</a>
 <div class="details_gallery_min">
  <a rel="details" href="max/1.jpg" class="fancybox"><img src="min/1.jpg" alt="" /></a>
  <a rel="details" href="max/2.jpg" class="fancybox"><img src="min/2.jpg" alt="" /></a>
  <a rel="details" href="max/3.jpg" class="fancybox"><img src="min/3.jpg" alt="" /></a>
  <a rel="details" href="max/4.jpg" class="fancybox"><img src="min/4.jpg" alt="" /></a>
 </div>
</div>

<script>

$(document).ready(function(){
    $(".manualfancybox").click(function() {
        var photos  = new Array();

        $(".details_gallery_min a").each(function(){

            href = $(this).attr("href"); 
            title = $(this).attr("title"); 
            photos.push({'href': href, 'title': title})         

        });

        jQuery.fancybox(photos , 
            {   'transitionIn' : 'elastic', 
                'easingIn' : 'easeOutBack', 
                'transitionOut' : 'elastic', 
                'easingOut' : 'easeInBack', 
                'opacity' : false, 
                'titleShow' : true, 
                'titlePosition' : 'over',
                'type'              : 'image',          
                'titleFromAlt' : true 
            }
        );
    });
});

</script>
Alexis Pigeon
  • 7,423
  • 11
  • 39
  • 44