0

サーバーへの長い呼び出しをトリガーするチェックボックスがあります。ユーザーが通話を待っている間、回転する .gif 画像を表示したいのですが、画像が表示されません。以下は私のコードスニペットです:

$('#chk').click(function () {
        $('span.progress-indicator').show(); //the gif image

        $.ajaxSetup({ asynch: false});

        LongServerCallMethod(); 

        $('span.progress-indicator').hide(); //the gif image
    });
4

1 に答える 1

2

長いメソッド呼び出しを setTimeout に配置して、ブラウザーが最初に gif をレンダリングする時間を許可します。ただし、ブラウザが非同期呼び出しによってロックされているため、スピナーが回転しないことに気付くでしょう。それを修正する唯一の方法は、使用しないことasync: falseです。

setTimeout(function(){
    LongServerCallMethod();

    $('span.progress-indicator').hide(); //the gif image
},0);

時間があれば、コードを使用しないように書き直す必要がasync: falseあります。async: falseasync: true

于 2013-01-02T21:38:46.683 に答える