【问题标题】:load flexslider from ajax从ajax加载flexslider
【发布时间】:2012-11-28 19:39:28
【问题描述】:

我正在尝试从 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"
  });
});

谁能告诉我我缺少什么或指出一个教程?

【问题讨论】:

    标签: ajax jquery flexslider


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多