2012-03-29 69 views
0

我的代码:NIVO滑块 - AJAX内容加载后如何调用滑块

<script type="text/javascript"> 
jQuery(window).load(function() { 
    jQuery('#slider02').nivoSlider({ 
    controlNav: true, 
    effect: 'boxRainGrow', 
    animSpeed: 1500, 
    pauseTime: 8000 
    }); 
}); 
</script> 

<div class="slider-wrapper theme-default"> 
<div id="slider02" class="nivoSlider">  
    <span id="zone933"> 
    <script type="text/javascript"> 
    jQuery('#zone933').load('/content.phtml); 
    </script> 
    </span> 
</div> 
</div> 

如何使NIVO滑块等到Ajax内容将被载入? 因为,有时它有时候不起作用......它取决于浏览器的刷新。 页面的首次访问不显示Slider,刷新和ajax内容加载后,它显示的是OK。

因此,我需要做一些事情,比如等到ajax请求完成,然后再调用Slider。 我试着补充: jQuery(document).ajaxComplete(function{ "here my code" });

但它不起作用。 我正在使用PHP函数,所以我在PHP函数 中调用滑块,所以函数调用jQuery代码和滑块的html代码,函数的参数 是元素ID的名称,例如“zone933”。 PHP工作正常;如果我使用简单的图像或带有链接的图像,它可以完美呈现。 我不能正常工作,只使用ajax加载。

回答

0

尝试这样:

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery('#zone933').load('/content.phtml', function() { 
     jQuery('#slider02').nivoSlider({ 
      controlNav: true, 
      effect: 'boxRainGrow', 
      animSpeed: 1500, 
      pauseTime: 8000 
     }); 
    }); 
}); 
</script> 

<div class="slider-wrapper theme-default"> 
<div id="slider02" class="nivoSlider">  
    <span id="zone933"> 
    </span> 
</div> 
</div>