的fancybox缩略图助手在缩略图的结束创造了新的缩略图,而不是直接调用它的(FancyBox T

2019-10-16 13:30发布

我试图用的fancybox 36个图像的画廊,但每当我点击图片来触发的fancybox,缩略图助手就是2周非常奇怪的事情:

1)加载我在画廊缩略图的END点击图像的缩略图外

2)缩略图助手没有去点击图像的相应的缩略图。 相反,它会以这种形象我在走廊尽头提出的新的缩略图。

这里是我到目前为止的链接: http://lalalichan.com/temp/process_test6.html

在底部,你会看到触发图像为显示区域的缩略图。 出现在该显示区域中的图像是链接,然后触发的fancybox。

一切工作像它应该; 我可以在我的图像之间导航,我可以关闭的fancybox的,当我点击我要出现在正确的对应图像的缩略图。

它只是这个讨厌的是真实的让原本光滑的功能去见鬼。

任何形式的帮助将事先理解,非常感谢!

Answer 1:

的fancybox将生成一个缩略图与约束它,因此,如果你有这样的脚本类中的每个环节

$('.fancybox').fancybox({});

并用相同的类作为选择器6页的链接绑定到的fancybox像

<a class="fancybox" href="{target}" .... etc

随后的fancybox将产生6个缩略图...到目前为止,一切顺利。

什么是你的情况发生,当你加载(演示)页中,有6个(隐藏)的链接class="fancybox" 。 也有一个空的容器( id="content" ,你显示你的大缩略图)

<div style="width: 820px; height: 546px;" id="content"></div>

但是当你在任何(非的fancybox)缩略图点击页面的底部,与容器id="content"中填充有7链接class="fancybox" ,复制原来的环节之一,这取决于在其缩略图你点击...所以7个缩略图会的fancybox这个动作之后产生。

由于此链接是在堆的末尾追加,这将在走廊尽头放置过。

您正在使用其他插件(thumbnailScroller),我相信也加入到了DOM额外的元素。

编辑:新问题要问:

我还是不完全了解点击滚动缩略图会填充#内容股利与第七链接。 我怎么会做那,同时仍保留了滚轮的所有功能,阻止它?

您的代码需要一点调整的:第一,要复制您的fancybox自定义脚本...你只需要一次。 其次,你只需要为加载jquery.fancybox.js或jquery.fancybox.pack.js但不能同时。

至于你问的功能,我会做的是:

1:移动从DIV ID =“负载”隐藏的链接DIV ID =“内容”
2:改变CSS来

#content a {
position:absolute;
visibility: hidden;
} 

3:更改脚本

$(function(){
        $('.image').live('click',function(){
            var href = $(this).attr('href');
                if ($('#content').is(':visible')) {
                    $('#content').css('visibility','hidden');
                    }
                $('#content').load('#load #'+href,function(){
                    $('#content').css('visibility','visible').hide().fadeIn('3000');
                });
        });
        return true;
})

这个

$(function(){
        $('.image').each(function(i){
            $(this).bind('click', function(){
                $("#content a").css('visibility','hidden').eq(i).css('visibility','visible').hide().fadeIn('3000');
            }); // bind
        }); // each
        return false;
});

假设缩略图处于相同的数量级内的链接DIVid="content"

我没有测试的代码,但它几乎什么会做的伎俩

编辑2: 代码改善一些改变CSS和JS

新的CSS:

#content a {
position:absolute;
display: none; /* was visibility: hidden; */
} 

新的JS:显示在页面加载的第一个大缩略图

$(function(){
 $("#content a").eq(0).show();
 $('.image').each(function(i){
  $(this).bind('click', function(){
   $("#content a").hide().eq(i).fadeIn('3000');
  }); // bind
 }); // each
 return false;
});

BTW,我也不会加入内嵌样式(使用style属性),我会用样式表来代替。



文章来源: FancyBox Thumbnail Helper creates new thumbnail at end of thumbnails instead of calling it directly