Flexslider无法在Fancybox 2 ajax窗口中运行

时间:2012-12-03 17:38:37

标签: jquery fancybox fancybox-2 flexslider

嗨遇到了以下问题。我试图在Fancybox v.2.1.3 ajax窗口中使用Flexslider v.2.1。弹出ajax窗口但显示的三个图像缺少方向导航图标,并且根本无法浏览图像。

相关的html位如下所示:

<ul class="moodlegrid sectionwrap">
            <li><a class="ajax1" href="projekt1.html"><img title="Projekte1" src="img/projekteblur.jpg" alt="Projekte1" /><img title="Projekte1" src="img/projekte.jpg" alt="Projekte1" /><span class="spiceup">Zum Projekt</span></a></li>
        </ul>

在index.html页面的底部,jQuery部分如下所示:

<script type='text/javascript' src="./js/jquery-1.8.3.min.js"></script>
<script type='text/javascript' src="./js/jquery.fancybox.js"></script>
<script type='text/javascript' src="./js/jquery.flexslider-2.1.min.js"></script>

<script type='text/javascript'>
$(document).ready(function(){
    $(".ajax1").fancybox({
        type: 'ajax',
        fitToView   : false,
        openOpacity : false,
        width       : '70%',
        height      : '97%',
        autoSize    : false,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        afterLoad: function() {
            $('.flexslider').flexslider({
                animation: "slide",
                animationLoop: true,
                controlNav: false,
                directionNav: true,
                slideshow: false
            });}        
    });
});

加载到ajax窗口的html的Flexslider相关部分如下所示:

<div class="flexslider">
    <ul class="slides">
        <li><img src="img/projekteblur.JPG" alt='Bild' width='530px' height='307px'/></li>
        <li><img src="img/projekte.JPG" alt='Bild' width='530px' height='307px' /></li>
        <li><img src="img/projekteblur.JPG" alt='Bild' width='530px' height='307px' /></li>
    </ul>
</div>

在控制台内部根本没有任何错误。如果有人知道如何解决这个问题,那就太好了。在此先感谢r。

1 个答案:

答案 0 :(得分:1)

我刚才有同样的问题。问题是dom需要在ajax加载之后重新加载才能触发flexslider。

我是前端开发人员,所以为了简单和速度,我将flexslider调用放在ajax加载中。像这样:

<div class="flexslider">
    <ul class="slides">
        <li><img src="img/projekteblur.JPG" alt='Bild' width='530px' height='307px'/></li>
        <li><img src="img/projekte.JPG" alt='Bild' width='530px' height='307px' /></li>
        <li><img src="img/projekteblur.JPG" alt='Bild' width='530px' height='307px' /></li>
    </ul>
</div>

$("flexslider ul.slides").flexslider();

这对我有用..