2

データベースから画像を表示するために、画像スライダーの上にマウスを置いてページメソッドを呼び出しています。問題は、複数のコールバックを取得していることです。この問題を解決する方法を知っている人はいますか?

ページメソッドに使用しているコード:

var contextArray = "img";
pageMethodConcept = {
    callServerSideMethod: function (id) {
        PageMethods.GetItemLargeImage(id, pageMethodConcept.callback, pageMethodConcept.Failcallback, contextArray);

    }, callback: function (result, userContext, imagePreview) {
        //alert(result);
        if (userContext = "img") {
           //replace img source with result
            document.getElementById("displayPreviewImage").src = result;

            return false;
        }
    }, Failcallback: function (result, userContext) {
        alert("failed");
    }
}

タイマーを設定するコード:

var alertTimer = 0;

if (alertTimer == 100) {
    alert("time 100");
    alertTimer = setTimeout(pageMethodConcept.callServerSideMethod(this.id), 0);

}
else {
    alertTimer = setTimeout(pageMethodConcept.callServerSideMethod(this.id), 100);
    alert("time ");
}
4

2 に答える 2

1

タイマー コードは正確に何をしていると思いますか?

if (alertTimer == 100) {...

100? 100とは?

setTimeout と clearTimeout

あなたは次のようなことをしているはずです:

if (alertTimer != 0) {
    /* timeout pending */
    clearTimeout(alertTimer);
    alertTimer = ...
} else {
    /* set timeout */
    alertTimer = ...
}
于 2010-08-03T11:01:14.987 に答える
0

タイマーを追加し、最後のコールバックから一定の時間が経過した場合にのみコールバックを送信します。カウンターでできます。

于 2010-08-03T10:27:30.363 に答える