0

jqueryのajaxロード関数を使用して外部htmlをロードしています。外部HTMLは、jqueryとflexslider(画像ギャラリー)と呼ばれるjqueryプラグインを使用しています。ドキュメントには、フレックススライダーを次のようにロードするように記載されています。

<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

When you loads html page with ajax, then after loading you can bind the flexslider on ajax complete ( like a callback ) instead of doing it in $(window).load() or $(window).ready().

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

Reffer to 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 に答える