0

我正在使用 jquery 的 ajax 加载功能来加载外部 html。外部 html 使用 jquery 和一个名为 flexslider(一个图片库)的 jquery 插件。文档说要加载 flexslider:

<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(){});
4

3 回答 3

1

不使用$(window).load(function(){});

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

或者

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

​改为

看演示

于 2012-05-27T17:21:48.977 回答
0

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

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

参考http://api.jquery.com/load/

于 2012-05-28T04:58:16.953 回答
0

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

基本上,问题归结为 jquery/javascript 用来将函数附加到事件的钩子。您希望使用的许多普通挂钩 - 例如 jQuery(document).ready(...) - 在 ajax 加载后不会触发。

因此,您必须采用在页面加载时触发的相同代码,并确保它在 ajax 加载后也被触发。

警告:我自己实际上从来没有这样做过,所以恐怕我不能给出代码示例。我只是在做一些自己可能需要这个功能的东西,所以我想我会分享我在探索中发现的东西。

于 2012-07-03T16:40:17.280 回答