1

これは私のjQueryです:

    $(document).ready(function(){

    $('#mycarousel').jflickrfeed({
        limit: 14,
        qstrings: {
            id: '26339121@N07'
        },
        itemTemplate: '<li><a href="{{image_b}}"><img src="{{image_m}}" alt="{{title}}" width="155" /></a></li>'
    });

    alert("msg");

    $('#mycarousel').jcarousel({
        auto: 3,
        scroll: 1,
        wrap: 'last',
        animation: 800,
        initCallback: mycarousel_initCallback
    });

});

しかし、「alert("msg");」を削除すると このコードは正しく動作しません...誰かがこの問題について私を助けてくれますか?

ありがとう !!!!!!!!

4

2 に答える 2

6

さて、あなたは何をするかについての説明を提供しませんjflickrfeedが、魔法の言葉:

このコードは、アラートが設定されている場合にのみ機能します

非同期コードに問題があることを教えてくれます。jflickrfeed非同期で戻ると思います。

つまり、関数は、要求された処理が完了する前に、スクリプトに制御を戻します。Javascriptプログラムでは、これは通常、サーバーへの呼び出しが行われたことを意味します。このような非同期コードには通常、ハンドラー、つまり非同期タスクが完了すると呼び出される関数を定義するオプションが含まれています。

非同期タスクの完了に依存するコードがある場合は、非同期関数呼び出しの直後ではなく、ハンドラーに配置する必要があります。

于 2010-03-19T20:40:12.303 に答える
1

使用しているコントロールはわかりませんが、これは間違いなくタイミングの問題です。アラートを削除すると、呼び出し時に flickr フィードの読み込みが完了していませんjcarousel。その関数はおそらくまだ何も動作しません。

flickr からの読み込みが正常に終了するように、2 番目の呼び出しのタイミングを調整する必要があります。それを行うには、jflickrfeedおそらくsuccessコールバックとして。

于 2010-03-19T20:38:31.047 に答える