2012-03-29 79 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>