2

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"
  });
});

誰かが私に欠けているものを教えてくれますか、またはチュートリアルを教えてくれますか?

4

1 に答える 1

0

上記のクラスを DOM にロードする前に、クラスで flexslider() 関数を呼び出していますか?

リンクをクリックして ajax 呼び出しを行うと、そのページの JavaScript はすでにそのコースを実行しています。これで、ajax 呼び出しを行うと、スクリプトは再実行されず、新しいクラス (ajax 経由で呼び出された) に flexslider を再度割り当てません。

これが当てはまる場合は、flexslider スクリプトを、ajax 呼び出しを行っているページに移動してみてください。

于 2012-11-28T05:44:22.630 に答える