1

以下のコードは単純な jquery プログレス バーです。ajaxStart で進行状況の値 (現在は 67 式) を動的に更新し、ajaxStop() でこの値を 100 に到達させる方法はありますか?

<head><script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css" />



    <script>
        $(function() {
            $( "#progressbar" ).progressbar({
                **value: 67**
            });
        });
    </script>
</head>


 <body>
    <div id="progressbar"></div>
</body>
4

1 に答える 1

2

HTML5 ブラウザーのみをターゲットにしている場合は、ここに記載されている内容を試してください: Jquery Ajax Progress in HTML5

これを行う従来の方法は、ローダーの代わりに回転する gif を表示することです。

ほとんどの場合、Ajax リクエストは長すぎることはありません。したがって、同じことをしようとするすべての努力が失われます。

ただし、進行状況バーが表示されることは珍しくありません。問題は、古いブラウザーがこの情報を JS と共有しておらず、開発者が次のようなハックを使用することを余儀なくされたことです。

  • フラッシュの助けを借りて。Flash プラグインは、アップロードされたデータの量を追跡し、JavaScript に伝えることができます。

  • 時間を概算する方法も場合によっては有効です。

  • 残っている唯一の選択肢は、サーバーに継続的に ping を実行して、転送がどれだけ行われたかを知ることです。

于 2013-03-18T14:00:29.220 に答える