0

私が作成しているページには、特定のdivを表示/非表示(visible = "true" || visible = "false")する4つのボタンがあります。私が欲しいのは、AJAX関数が呼び出される前に、自分のカスタム関数が呼び出されることです。これは、現在表示されているdivの不透明度をゼロにアニメーション化し、読み込み中の画像を表示します。最後に、AJAX関数が完了した後、別のカスタム関数が呼び出されます。 be "は、不透明度0から1まで、および左から右にdivで表示されます。私が達成しようとしているのは、WebページでのWindowsPhone7のような効果です。だから、私がそれをどのように行うことができるかについてのアイデアはありますか?

4

2 に答える 2

1

Asp.net ajaxを使用している場合は、次の手順に従ってこれを実現できます

これらのステートメントでjavascriptメソッドを登録します。

    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);

登録されたメソッドの定義

    function beginRequestHandle(sender, Args)
    {
        alert("Begin Request Handle called.");
    }

    function endRequestHandle(sender, Args)
    {
      alert("End Request Handle called.");
    }
于 2012-04-18T06:41:37.983 に答える
0

これを行うには、コードにカスタム ajax ハンドラーを記述します。たとえば、cs ファイルでは次のようになります。

[WebMethod]
public static bool CustomAjaxMethod(string arg)
{
  // do work
  return true;
}

次に、aspx ファイルで次のようにします。

<input type="button" value="Do Ajax Call" onclick="doWork();" />

そしてJavaScriptで:

function doWork() {
  // do your 1st animation here
  PageMethods.CustomAjaxMethod('foo', callback);
}

function callback(result, userContext, methodName) {
  if (methodName == 'CustomAjaxMethod') {
    // may want to check result here
    // do your 2nd animation here 
  }
}
于 2012-04-18T06:48:17.283 に答える