【发布时间】:2013-10-30 06:20:28
【问题描述】:
我已经多次使用过 flexslider 和 fancybox,它们都是很棒的插件。另外,这两种方法在我正在做的网站上都很好用,但我现在要描述的问题发生在将 flexslider 画廊放置在 fancybox div 内时。我必须指出这是一个响应式网站,所以没有静态宽度,所有宽度都是基于百分比的。
起初一切似乎都在工作。我加载了fancybox 和flexslider 显示器,它的宽度是fancybox 容器的50%。但是,如果我将display: none; 添加到它需要隐藏 div 直到它被调用的 fancybox div 中,当 fancybox 加载 flexslider 中的所有图像时,尽管 flexslider div 的宽度是正确的,但它很小。我假设因为 flexslider 在页面加载时加载它不知道它的宽度是多少。这就是为什么在设置 display: none; 时不会发生这种情况的原因。
我加载这 2 个插件的 javascript 当前如下所示:
// =FANCYBOX
$(".fancybox").fancybox({
padding : 2,
nextEffect: 'fade',
prevEffect: 'fade',
title: false,
});
// =FLEXSLIDER
$(function(){
if($(".flexslider").length > 0) {
$(".flexslider").addClass("loading");
// Can also be used with $(document).ready()
$(window).load(function() {
$('.flexslider').flexslider({
animation: "slide",
directionNav: false,
slideshowSpeed: 5000,
animationSpeed: 360,
easing: "easeInQuad",
useCSS: false,
start: function(slider){
$('.flexslider').removeClass('loading');
}
});
});
}
});
有谁知道在fancybox 可见后如何强制flexslider 重新初始化?
谢谢, 史蒂夫
【问题讨论】:
标签: javascript jquery html fancybox flexslider