0

好的,这是两难的。有一个滑块,当您单击缩略图时,较大的图像会出现在上面的 div 中。很直接。现在我已经成功地为更大的图像分配了一个点击功能,这样 Fancybox 就会弹出。

$('#launchImg').click(function(){
    $('.room-thumbnail').fancybox({
            'transitionIn'      : 'elastic',
            'transitionOut'     : 'elastic',
            'titlePosition'     : 'over'
            }).trigger('click');
            return false;
});

唯一的问题是,当单击较大的图像时,它会从缩略图中获取图像(这不是真正的缩略图,而只是调整大小的全尺寸图像)并且已经分配了一个单击功能。

$('.room-thumbnail').click(function() {
    var img = new Image();

    $(img)
        .load(function () {
            $('#room-ajax-loader').css('display', 'none');
            $(this).hide();

            $('#room-big-image a').attr('href', $(this).attr('src'));

            $('#room-big-image a').append(img);

            $(this).fadeIn(function() {
                $('#room-big-image img:first-child').remove();
            });
        })
        .attr('src', $(this).attr('href'));
    if (!$(this).hasClass('thumbnail-current')) {
        grayscale($('.thumbnail-current'));
    }

    $('.room-thumbnail').removeClass('thumbnail-current');
    $(this).addClass('thumbnail-current');
    $('#room-ajax-loader').css('display', 'block');
    return false;
});

所以我遇到的问题是,一旦我点击了打开fancybox的大图像,一切都按预期工作,但是在我关闭fancybox后,缩略图不再改变它们上方的大图像,而是从滑块启动fancybox,我不这样做想要发生。

所以基本上,我如何从我的缩略图中解开fancybox?

这是html:

<div id="slider0" class="des-row">

        <div class="des-container">
              <div class="des-container-left">
                <div id="room-big-image">
                            <a id="launchImg" title="" href="images/produits/t-shirts/fresh_tf84_kaki/fresh_tf84_kaki.jpg" >
                    <img src="images/produits/t-shirts/fresh_tf84_kaki/fresh_tf84_kaki.jpg" alt="fresh_tf84_kaki.jpg" style="width:350px; height:auto;" /></a>
                </div>
            </div>



        <div class="des-container-right">
            <div id="room-slider-first-container">

              <a id="room-slider-button-left" class="button-left-orange" href="#"></a>
              <a id="room-slider-button-right" class="button-right-orange" href="#"></a>
              <div id="room-slider-button-left-disabled" class="button-left-disabled"></div>
              <div id="room-slider-button-right-disabled" class="button-right-disabled"></div>
              <div id="room-ajax-loader"></div>
              <!-- begin room-slider-second-container -->
              <div id="room-slider-second-container"><!-- begin room-slider-slide -->
                <div id="room-slider-slide">

                   <a rel="group1" href="images/produits/t-shirts/fresh_tf84_kaki/fresh_tf84_kaki.jpg" class="room-thumbnail"><img src="images/produits/t-shirts/fresh_tf84_kaki/fresh_tf84_kaki.jpg" alt="fresh_tf84_kaki.jpg" /></a>

                   <a rel="group1" href="images/produits/t-shirts/fresh_tf84_kaki/fresh_tf84_kaki_closeup.jpg" class="room-thumbnail"><img src="images/produits/t-shirts/fresh_tf84_kaki/fresh_tf84_kaki_closeup.jpg" alt="fresh_tf84_kaki_closeup.jpg" /></a>

                 </div><!-- end room-slider-slide -->
              </div><!-- end room-slider-second-container -->
            </div><!-- end room-slider-first-container -->
        </div><!-- end des-container-right -->
    </div><!-- end des-container -->
  </div><!-- end slider0 - des-row -->

谢谢,如果你已经读到这里了!和平。

4

1 回答 1

0

如果点击大图会触发fancybox,那你为什么不这样做呢?

$('#launchImg').fancybox({
 'transitionIn'      : 'elastic',
 'transitionOut'     : 'elastic',
 'titlePosition'     : 'over'
});
于 2012-04-10T07:19:58.943 回答