从ajax加载flexslider

时间:2012-11-27 19:13:41

标签: ajax jquery flexslider

我正在尝试从ajax加载flexslider。当我直接指向包含滑块的页面时,它可以工作,但是从ajax开始,滑块不会加载。

这是我的ajax页面:

$(document).ready(function(){

//Ajax Event Handler For Categorie Demo
var $menu1 = $('#navDemo02');



function success(){

    $('div.ajaxContent').hide();
  $('div.ajaxContent').show(200);
}

function ajaxCallTimeout(index){
var url = 'categorie/0'+(index+1)+'.php';
 $('div.ajaxContent').load(url, success);
}
function ajaxCategorie(){
    var index = $menu1.find('li a').index(this);
     $('div.ajaxContent').html('<p style="color:#4CC3EC; text-align:center; margin-top:45px;">Loading...<img src="img/loading.gif" /></p>');
    switch(index){
        case 0 :

              $('div.ajaxContent').stop().animate({marginTop: 0}, 1000,'linear', function(){ajaxCallTimeout(index)});
        break;
        case 1 : 

              $('div.ajaxContent').stop().animate({marginTop: 0}, 1000,'linear', function(){ajaxCallTimeout(index)});
        break;
        case 2 : 

              $('div.ajaxContent').stop().animate({marginTop: 0}, 1000,'linear',function(){ajaxCallTimeout(index)});
        break;
        case 3 : 

              $('div.ajaxContent').stop().animate({marginTop: 0}, 1000,'linear', function(){ajaxCallTimeout(index)});
        break;
        case 4 : 

              $('div.ajaxContent').stop().animate({marginTop:0}, 1000,'linear', function(){ajaxCallTimeout(index)});
        break;
        case 5 : 

              $('div.ajaxContent').stop().animate({marginTop: 0}, 1000,'linear', function(){ajaxCallTimeout(index)});
        break;
        case 6 : 

              $('div.ajaxContent').stop().animate({marginTop: 0}, 1000,'linear', function(){ajaxCallTimeout(index)});
        break;


    }
}

$menu1.find('li a').bind('click', ajaxCategorie);

});

这是滑块的脚本

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.min.js">\x3C/script>')</script>

<script defer src="jquery.flexslider.js"></script>

<script type="text/javascript">
 $(function(){
  SyntaxHighlighter.all();
});
$(window).load(function(){
  $('.flexslider').flexslider({
    animation: "slide"
  });
});

有人可以告诉我我缺少的东西或指出我的教程吗?

1 个答案:

答案 0 :(得分:0)

在将所提到的类加载到DOM之前,您是否正在调用类的flexslider()函数?

当您点击链接进行ajax调用时,该页面上的javascript已经运行了。现在,当您进行ajax调用时,脚本不会重新运行以再次为新类(已通过ajax调用)分配flexslider。

如果是这样,您可以尝试将flexslider脚本移动到您正在进行ajax调用的页面中。