1

スライドショーを自動的に開始するこの機能があり、サーバーがクエリを実行してデータをエコーするまで遅延させる必要があります

 $(document).ready(function(){

        $('#camera_wrap_2').camera({
            height: '380px',
            loader: 'bar',
            pagination: false,
            thumbnails: true
        });

    });

私はこれを試しましたが、うまくいきませんでした

        $(document).ready(function(){
        setTimeout(camera,2000);

    });
    $('#camera_wrap_2').camera({
            height: '380px',
            loader: 'bar',
            pagination: false,
            thumbnails: true
        });
4

3 に答える 3

3

とすれば

サーバーがクエリを実行します

あなたはいくつかのajax呼び出しを意味し、コールバックを使用してそこでコードを呼び出す必要があります。

それ以外の場合、タイムアウトの例では、それが期待さcameraれるものであるため、という名前の関数を作成する必要がありますsetTimeout

$(document).ready(function(){
    setTimeout(camera,2000);
});
function camera(){
    $('#camera_wrap_2').camera({
            height: '380px',
            loader: 'bar',
            pagination: false,
            thumbnails: true
    });
}
于 2012-10-16T22:22:08.110 に答える
1

2 秒の遅延後にメソッドを実行しようとしている場合は、指定された遅延の後に呼び出す.camera関数にメソッドを配置することで、次のように実行できます。setTimeout()

$(document).ready(function(){
    setTimeout(function() {
        $('#camera_wrap_2').camera({
            height: '380px',
            loader: 'bar',
            pagination: false,
            thumbnails: true
        });
    },2000);
});

通常、このようなハードコードされた待機時間は間違った解決策です。通常、適切な解決策は、特定のイベントが発生するのを待ち、そのイベントのリスナーを用意することです。

あなたの質問からはわかりませんが (あなたが待っているサーバーの応答に関する情報が含まれていないため)、おそらくここで必要なイベントは、サーバーへの ajax 呼び出しからの応答です。その場合は、その ajax 呼び出しを完了するためのコールバックをインストールし、.camera()そのコールバックでメソッドを実行できます。

于 2012-10-16T22:21:37.507 に答える
-1

delay() jQuery 関数を使用することもできます

$(document).ready(function(){

    $('#camera_wrap_2').delay(2000).camera({
        height: '380px',
        loader: 'bar',
        pagination: false,
        thumbnails: true
    });

});
于 2012-10-16T22:24:24.683 に答える