我正在尝试从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"
});
});
有人可以告诉我我缺少的东西或指出我的教程吗?
答案 0 :(得分:0)
在将所提到的类加载到DOM之前,您是否正在调用类的flexslider()函数?
当您点击链接进行ajax调用时,该页面上的javascript已经运行了。现在,当您进行ajax调用时,脚本不会重新运行以再次为新类(已通过ajax调用)分配flexslider。
如果是这样,您可以尝试将flexslider脚本移动到您正在进行ajax调用的页面中。