2012-05-27 161 views
0

我正在使用jquery的ajax加载函数加载外部html。外部html使用jQuery和一个名为flexslider(图库)的jquery插件。该文件说加载flexslider:jquery使用插件加载外部html

<script type="text/javascript" charset="utf-8"> 
    $(window).load(function() { 
     $('.flexslider').flexslider({ 
      slideshow: true, slideshowSpeed: 7000, animationDuration: 600, pauseOnAction: true, pauseOnHover: false}); 
    }); 
</script> 

当我打电话它不起作用。我试图在父页面上做这件事,但它似乎也没有工作。我还确保在初始化flexslider之前加载外部html。有没有我应该父页面上使用的

$(window).load(function(){}); 

回答

1

,而不是不使用另一个事件$(window).load(function(){});

使用$(document).ready(function(){});

OR

window.onload = mymethod(); 
function mymethod() 
{ 
    alert('onload occured') 
} 

代替

see the demo

0

当您使用ajax加载html页面时,加载后您可以在ajax完成(如回调)上绑定flexslider而不是在$(window).load()或$(window)中执行此操作。准备()。

.load(url [, data] [, complete(responseText, textStatus, XMLHttpRequest)]) 

Reffer到http://api.jquery.com/load/

0

看一看http://wordpress.org/extend/plugins/advanced-ajax-page-loader/faq/

基本上,问题归结为它的jquery/JavaScript使用附加功能对事件的钩。许多正常的钩子,你会希望使用 - 例如jQuery(document).ready(...) - 在ajax加载后不会触发。

所以你必须采取相同的代码,触发页面加载,并确保它也被触发阿贾克斯负载。

警告:我还没有实际做过这一点我自己,所以我不能给代码示例我害怕。我只是工作的一些东西,可能需要这个功能我自己,所以想我会分享我在我的探索发现。